正则表达式无法排除字符串

时间:2013-11-04 16:43:14

标签: regex

这是我的正则表达式我想要排除字符串login_overlay,但我无法从我的正则表达式中排除该字符串,它捕获login字符串并传递正则表达式:

(^\/$|!login_overlay|login|welcome|register|password_forgot|terms|privacy|company_site|account_calendar|account_cancel|account_facebook|account_google|account_ical|account_language|account_outlook|account_password)

我的错误是我的正则表达式有什么问题吗?

2 个答案:

答案 0 :(得分:3)

你需要使用负向前瞻:

(?!.*?login_overlay)

See Lookaround Tutorial

答案 1 :(得分:2)

您无法轻松地从正则表达式中排除字符串。虽然如果你的正则表达式实现支持负前瞻,你可以接近:

  (^\/$|(?!login_overlay|something_else_excluded|...)(login|welcome|...))