正则表达式交替可选替换

Regex alternation optional replace

我想让我的生活更轻松地将 Objective-C 翻译成 Swift;我目前正在编写一个程序,它将匹配某些常用的结构(例如方法、属性和变量)并将它们替换为 Swift 版本。现在我正在尝试将方法名称前面的 +/- 替换为 class if + 或 nothing if -.

我似乎找不到如何根据选择将 (\+|-) 替换为 class</code>。这在纯正则表达式中可能吗?或者我需要将其放入我的应用程序逻辑中吗?</p> <p>编辑:预期输入和输出:</p> <p><code>- (void)composeView(...) 给出 func composeView(...)

+ (void)composeView(...) 给出 class func composeView(...)

您可以使用两个正则表达式,第一个可以是:

- \(\w+\)(composeView\(.*?\))

Working demo

看看Substitution部分

第二个:

\+ \(\w+\)(composeView\(.*?\))

Working demo