正则表达式:非捕获组

时间:2018-03-29 16:04:07

标签: regex sublimetext3

[正则表达式初学者]在Sublime Text 3中,我如何找到aa,使得左边和右边没有a,并将其替换为aaa ?我试过了:

(?:[^a])(aa)(?:[^a])

但是会选择四个字符。如何仅选择aa

1 个答案:

答案 0 :(得分:4)

您可以使用否定lookbehind and lookahead

的组合
(?<!a)aa(?!a)

如果当前位置左侧有(?<!a),则a无法匹配,如果(?!a)立即a,则class ViewController: UIViewController { var otherViewController: OtherViewController! override func viewDidLoad() { super.viewDidLoad() otherViewController = OtherViewController() otherViewController.test = "ABCDFER" //Do not do this otherViewController.viewDidLoad() } 会失败当前位置的权利。

请参阅PCRE regex demo(SublimeText3使用PCRE引擎)。