Regex чередование необязательно заменить
Я хотел бы облегчить мою жизнь, переводя Objective-C на Swift; В настоящее время я пишу программу, которая будет соответствовать определенным часто используемым конструкциям (таким как методы, свойства и переменные) и заменять их версией Swift. Теперь я пытаюсь заменить +/- перед именем метода, либо class
если +
или ничего, если -
,
Я не могу найти, как я могу сделать чередование (\+|-)
быть заменен либо class
или же на основании выбора. Возможно ли это в чистом регулярном выражении? Или мне нужно поместить это в логику моего приложения?
Редактировать: ожидаемый ввод и вывод:
- (void)composeView(...)
дает func composeView(...)
+ (void)composeView(...)
дает class func composeView(...)
1 ответ
Вы можете использовать два регулярных выражения, первым может быть:
- \(\w+\)(composeView\(.*?\))
Посмотрите на Substitution
раздел
И второй:
\+ \(\w+\)(composeView\(.*?\))