繁体   English   中英

从另一个正则表达式中排除一个正则表达式

[英]Exclude one regular expression from another regular expression

在JavaScript中,是否可以排除一个正则表达式的匹配(通过编写另一个正则表达式)? 例如,我想排除正则表达式的所有匹配项

/(cl|g|cr|d)(own)/ (匹配“小丑”,“礼服”,“皇冠”和“向下”)

从正则表达式

/(c|g|cl|cr|d)(o(w|u))(n|d)/ (匹配“冠”,“小丑”,“长袍”,“土块”等)。

组合正则表达式应匹配与第一个正则表达式匹配的所有字符串,但不匹配与第二个正则表达式匹配的字符串。

好吧,你可以这样写:

/(?:cl|g|cr|d)o(?:un|wd)|co[wu][nd]/

但更一般地说,你可以使用负向前瞻:

/(?!(?:cl|g|cr|d)own)(?:c|g|cl|cr|d)o[wu][nd]/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM