javascript - 包含 "not"的正则表达式不起作用

标签 javascript regex

我想创建一个正则表达式来不匹配某些单词...

我的字符:var test = "é123rr;and;ià456;or;456543"

我的正则表达式:test.match(\((?!and)(?!or)[A-Za-z0-9àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÑÕäëïöüÿäËÏÖÜçÇßØøÅŸåÆæœ]+)$\g)

我想从 match 函数(Javascript)获得什么:['é123rr', 'ià456', '456543']

我的结果:['456543']

最佳答案

您实际上可以使用正则表达式来分割它:

test.split(/\;and\;|\;or\;/g); //will return ['é123rr', 'ià456', '456543']

如果“and”和“or”也可以出现在字符串的开头或结尾,您可以这样做:

test.split(/\;?and\;?|\;?or\;?/g).filter(str => str != "")

如果发生上述情况,您可以通过这种方式清除数组中的空字符串。

关于javascript - 包含 "not"的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588915/

相关文章:

javascript - HTML格式的YouTube视频不起作用

regex - 需要帮助制作正则表达式字符串

regex - 用于提取 URL 的字母数字部分的正则表达式?

javascript - 使用jquery动态加载js

javascript - 集成 React.js 非 JS 服务器 API

javascript - Angular JS 显示响应值

javascript - 全局 JavaScript 变量在 jQuery 更改事件中不可访问

regex - ColdFusion , REGEX - 给定文本,查找 SPAN 中包含的所有项目

php - 带换行符的正则表达式 preg_match

c# - 2 个匹配集合到 1 个列表