以下正则表达式在子字符串FTW和ODP之间查找文本。
/FTW(((?!FTW|ODP).)+)ODP+/
(?!
... )
是做什么的? 最佳答案
(?!regex)
是zero-width negative lookahead。它将测试当前光标位置处的字符并向前移动,测试它们与提供的正则表达式不匹配,然后将光标返回到其开始位置。
整个正则表达式:
/
FTW # Match Characters 'FTW'
( # Start Match Group 1
( # Start Match Group 2
(?!FTW|ODP) # Ensure next characters are NOT 'FTW' or 'ODP', without matching
. # Match one character
)+ # End Match Group 2, Match One or More times
) # End Match Group 1
OD # Match characters 'OD'
P+ # Match 'P' One or More times
/
因此-寻找
FTW
,然后在寻找ODP+
结束字符串时捕获。还要确保FTW
和ODP+
之间的数据不包含FTW
或ODP