正则表达式以排除特定单词但允许某些模式

时间:2016-03-17 07:10:22

标签: php regex

我正在生成一个正则表达式,其中可以包含任何字母或数字或下划线[a-zA-Z0-9_]但不包含与loglogin完全匹配的字词最后test

有人可以帮我吗?

3 个答案:

答案 0 :(得分:3)

您可以使用此负前瞻性正则表达式:

\b(?!log(?:in)?|test)\w+

RegEx Demo

(?!log(?:in)?|test)是否定前瞻,如果存在任何给定的单词log,login,test,则匹配将失败。

答案 1 :(得分:1)

 ^(?!(^test$)|(^log$)|(^login$))([A-Za-z0-9_-/]+)$ 

我的诀窍。谢谢你们的回答

答案 2 :(得分:0)

我认为下面的正则表达式应该可以解决这个问题

^((?!log|login|test)[a-zA-Z0-9_])*$