这解释了它在做什么。
要修改,取决于你想要做什么。
这是其目前在做什么 -
# ^(?=.*?bear\ grylls)(?=.*?(\bnbc\b|reality|episode|show|watch|series|season|premiere)).*?
^ # Beginning of string
(?= # Look ahead
.*? # Ungreedy, any number of characters
bear\ grylls # Must be 'bear grylls' somewhere
) # End lookahead
(?= # Look ahead
.*? # Ungreedy, any number of characters
( # (1 start), Must be one of these somewhere
\b nbc \b
| reality
| episode
| show
| watch
| series
| season
| premiere
) # (1 end)
) # End lookahead
.*? # Assertions passed tests, now match the entire string
我将其修改为这个获得一个更好一点的功能 -
# (?s)^(?=.*\bbear\ grylls\b)(?=.*\b(nbc|reality|episode|show|watch|series|season|premiere)\b).*
(?s) # Dot all modifier
^ # Beginning of string
(?= # Look ahead
.* # Greedy, any number of characters
\b bear\ grylls \b # Must be 'bear grylls'
) # End lookahead
(?= # Look ahead
.* # Greedy, any number of characters
\b
( # (1 start), Must be one of these
nbc
| reality
| episode
| show
| watch
| series
| season
| premiere
) # (1 end)
\b
) # End lookahead
.* # Assertions passed tests, now match the entire string
我建议使用RegexFormat 5它格式化,并创建自动评论。
来源
2014-10-09 02:36:47
sln
看看http://regex101.com,这给你输入正则表达式的正确解释 – radar 2014-10-09 02:03:31