繁体   English   中英

javascript正则表达式只有在另一个模式不匹配时才排除模式

[英]javascript regex to exclude a pattern only if another pattern does not match

需要正则表达式才能用wag[.|on]ut[i|e]排除句子,但仅当没有sed[.|an]并且允许所有其他句子时才需要。 有什么建议?
即。 排除只有货车或只有ute的匹配。

我试过/ [ /[^wag[on|.]]/ig.test(sentence)但这种方式不允许排除。 我需要选择“是”句子,如下所示。

鉴于以下句子:
轿车很快< - 是的
其他sed。 很快< - 是的
旅行车很慢< - 没有
其他的摇摆。 也很慢< - 没有
ute很慢< - 没有
其他uti也很慢< - 没有
摇摇晃晃。 和马车比较慢。 或者轿车< - 是的
uti或ute比sed慢。 或者轿车< - 是的
两个都摇摆。 旅行车和uti和ute很慢< - 没有
没有什么是快或慢< - 是的

这样做的伎俩

function isMatch(input) {
   var regno = /(wag[.|on]|ut[i|e])/gi;
   var regyes = /sed[.|an]/gi;
   return !regno.test(input) || regyes.test(input);
}

结果:

在此输入图像描述

/^(?:.*sed[.|an].*|(?:(?!wag[.|on]|ut[i|e]).)*)$/

您可以使用(?!)匹配与某些模式不匹配的字符串。

暂无
暂无

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

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