我必须分离
D= d1| d2|...|dn
和
F=f1|f2|...|fn
目前,我使用如下所示的 if 语句检查这两个正则表达式:
if (($text_to_search =~ $D) && ($text_to_search !~ $F))
我怎样才能否定F?是否可以对整个析取项或 F 的每个析取项使用负环视?
我应该看起来像这样:
regexp = (d1)| (d2) | (d3) ... (dn) | NOT (f1) | NOT (f2) | ... | Not (fn)
括号是否定模式所必需的,不仅是第一个单个字符,不是吗?
编辑:例如 D 是:a|b|c|d
和 F 是:1|2|3
现在的行为应该是这样的:
input: "abc" --> accepted
input: "a" --> accepted
input: "abc1" --> Not accepted
input: "2" --> NOT accepted
input: "a2bc1" --> Not accepted
(input: "xyz999" --> does not match - shouldn't be accepted)
F-析取应该像“当在输入序列中看到这个时不匹配”