1

我正在尝试匹配不属于字符串的特定单词。如何用正则表达式做到这一点。此表达式查找所有实例 \b(?i)MyName\b 我只希望 MyName 在下一段的第二行中出现。

"Do not match MyName between these quotes"
 Match MyName here.
4

2 回答 2

2

做这种事情的一个好方法是匹配不同捕获组中的两种可能性(您可以在后面用 \1 或 \2 或 $1 或 $2 识别)

{"[^"]*"}|{yourword}

或者

("[^"]*")|(yourword)

因为双引号之间的文本首先匹配,第二组只能包含不在双引号之间的单词。

于 2013-04-30T18:00:51.373 回答
0

^[^"]*(MyName)[^"]*$

此表达式匹配带有不在引号之间的 MyName 的行,并将 MyName 作为匹配组返回。

http://rubular.com/r/LSzdiuHqVq

于 2013-04-30T17:42:38.630 回答