javascript - 如何匹配重复的布尔搜索字符串模式
问题描述
我正在尝试构建一个正则表达式来匹配布尔搜索的所有位。我能够接近,但最终跳过了一些比赛。这是我到目前为止所得到的。
要检查的字符串:
“foo AND bar OR baz AND 不管什么”
这是我到目前为止所得到的(我知道,我缺少一些字符,如引号、括号等):
(\w+)(?:.(AND|OR|NOT).(\w+))
目前的结果:
[
"foo AND bar",
"foo",
"AND",
"bar",
]
[
"baz AND whatever",
"baz",
"AND",
"whatever"
]
请注意,我缺少“bar AND baz”部分。通过在正则表达式的末尾添加一个 + ,它匹配整个字符串,但它似乎忽略了第一个单词组之后的一些捕获组,然后捕获最后一位(希望这是有道理的)。
期望的结果:
[
"foo AND bar OR baz AND whatever",
"foo",
"AND",
"bar",
"OR",
"baz",
"AND",
"whatever"
]
或者
[
"foo AND bar",
"foo"
"AND"
"bar"
]
[
"bar OR baz",
"bar",
"OR",
"baz"
]
[
"baz AND whatever",
"baz",
"AND",
"whatever"
]
我认为第一个期望的结果会更好。那么,我在这里缺少什么?我很确定我需要对捕获组#3 进行反向引用,但似乎无法使其正常工作。
解决方案
推荐阅读
- javascript - css-loader 3.4.2中通过localsConvention的kebab-case到camelCase不起作用
- python - ModuleNotFoundError:没有名为“_winreg”的模块
- react-native - Expo Android自适应图标未出现
- git - 我的 Gatsby CMS 部署不是我想要的,Google maps gatsby 插件
- javascript - 如何模拟输入文本?Javascript/jQuery, vextab
- windows - 在 IE 中编辑 Word 不打开 Word
- xml - 如何将 MARC21-xml 转换和过滤成 csv?
- ruby-on-rails - Rails 管理员:如何添加助手和使用视图助手?
- javascript - 如何获取任何 subreddit 图片,包括成人图片?不和谐.js
- java - 在 Java 中找不到 REST 服务的 url