我正在尝试制作一个接受此的正则表达式:
对于第一部分,我已经设法用:
^[a-zA-Z0-9\\_]{3,}$
但我不知道如何排除先前列出的词语。
例如,这意味着:
使用此正则表达式:
^(?!static|my|admin|www).*$
效果不好:它排除了statice(以及未经授权的单词之后的所有内容)。
你知道哪个正则表达式符合我的需要吗?
答案 0 :(得分:8)
尝试这样的事情:
^(?!static$|my$|admin$|www$).*$
这将禁止“静态”,但允许“statice”,“statica”等。通过将每个列入黑名单的单词锚定到字符串的末尾,如果它们独立而没有任何尾随字符,则只会匹配它们。
编辑: codeaddict建议采用更简洁的方式做同样的事情:
^(?!(?:static|my|admin|www)$).*$
答案 1 :(得分:3)
我会回答我的问题,为我的问题提供正确的答案(包含两种义务的正则表达式),但我会给出接受安德鲁·哈尔的答案,让我以正确的方式:)
以下是如何:
这是正则表达式:
^(?!static$|my$|admin$|www$)[a-z0-9\_]{3,}$
或者,正如Codaddict提到的那样,只有一个结束锚:
^(?!(?:static|my|admin|www)$)[a-z0-9\_]{3,}$
希望将来有所帮助!