我必须编写一个检查程序,它使用正则表达式排除以@ tag5.com和@ tagfive.com等特定电子邮件结尾的内容。不太确定如何做到这一点,因为我没有真正用正则表达式做很多工作,希望有人能告诉我如何或指出我正确的方向。
只需知道要使用的正则表达式更具体。
- 的修改 -
nm我找到了一个更好的解决方案,解决了我遇到的问题,而且不必处理正则表达式。
答案 0 :(得分:1)
似乎发布消极和积极断言的唯一方法是这样的:
正则表达式:'(?=^(?:(?!@tag5\.com).)*$)(?=.*@tagfive\.com)'
目标:'22$sAsWNoid@tag5.comaASDFsdf@tagfive.comasdf!'
因为,使用(?!.*@tag5\.com)
会匹配任何内容。
(?= ^ # Positive lookahead at start of line
(?: # Group
(?! # Negative lookahead assertion
@tag5\.com # Can't be @tag5.com at this position
) # End assertion
. # This character is ok, take it
)* # End group, do many times until ..
$ # End of line
) # End of positive lookahead assertion
(?= # Meanwhile, back at the start of line, positive lookahead
.* # Keep going until we find:
@tagfive\.com # this (and it MUST be here)
) # End of positive lookahead
答案 1 :(得分:0)
这应该有效:@tag(5|five)\.com$