我有一个来自配置文件的片段,需要匹配指定字符串的引用内容,但仅当它们没有被注释时才能匹配。这是我的当前正则表达式:
(?<!=#)test\.this\.regex\s+\"(.*?)\"
我认为这应该可以工作?我这样读:
(?<!=#)
向后查找,确保它没有被 #
预先出现
test\.this\.regex\s+\"(.*?)\"
匹配 test.this.regex "sup1"
这是配置片段:
test.this.regex "sup1" hi |sup1| # test.this.regex "sup3" hi |sup3|
# test.this.regex "sup2" do |sup2|
test.this.regex "sup2" do |sup2|
但是我的正则表达式匹配了所有4次:
Match 1
1. sup1
Match 2
1. sup3
Match 3
1. sup2
Match 4
1. sup2
(?<!...)
,而不是(?<!=...)
。 - Casimir et Hippolyte