一个排除单词/字符串的正则表达式

20 浏览
0 Comments

一个排除单词/字符串的正则表达式

我有一个正则表达式,如下:

^/[a-z0-9]+$

这可以匹配诸如/hello/hello123之类的字符串。

但是,我想排除一些字符串值,例如/ignoreme/ignoreme2

我尝试了一些变体,但似乎没有任何一种可以工作!

我最近的微弱尝试是

^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$

admin 更改状态以发布 2023年5月21日
0
0 Comments

这应该就可以了:

^/\b([a-z0-9]+)\b(?

你可以添加任意数量的忽略词,这里是一个简单的PHP实现:

$ignoredWords = array('ignoreme', 'ignoreme2', 'ignoreme...');
preg_match('~^/\b([a-z0-9]+)\b(?

0
0 Comments

这里是另一种方法(使用负向先行断言):

^/(?!ignoreme|ignoreme2|ignoremeN)([a-z0-9]+)$ 

注意:只有一个捕获表达式:([a-z0-9]+)

0