结合多个正则表达式

时间:2018-01-25 06:53:56

标签: django python-2.7 django-urls

我希望使用AND条件组合多个正则表达式。例如,不应匹配以下单词(字符串的开头):

database
audit
index
analysis
extract
good
bad

以这些字符串开头的字符串将不匹配。同样,其他词语,错误也会匹配。

我做了一个正则表达式,能够过滤掉每个单词但是没有成功过滤出不匹配的单词列表。

#This will only match those that do not start with database    
r'(^((?!database).+)'

在尝试合并时,它未能检查两种情况。

r'(^((?!database).+)(^((?!audit).+)))'

注意:此正则表达式将在django框架中使用,urls.py文件

1 个答案:

答案 0 :(得分:1)

如果您只想过滤掉以否定列表中的单词开头的字符串,请在模式的开头使用负向前瞻,并使用交替来覆盖该单词列表:

^(?!database|audit|index|analysis|extract|good|bad).*$

如果您想检查肯定匹配,或想要更复杂的模式,那么您可以用适当的逻辑替换.*

Demo