sid*_*uko 5 javascript regex regex-lookarounds
我正在使用以下正则表达式;
((?:_missing_:|_exists_:)[a-z0-9]+)|(([a-z0-9]+)(?=:))
Run Code Online (Sandbox Code Playgroud)
匹配 lucene 查询字符串;
_missing_:title age:(>=10 AND < 20) AND age:123 AND _exists_:title123
Run Code Online (Sandbox Code Playgroud)
第一个非捕获组不受尊重并且返回_missing_:title而不是title。使用正向前瞻会使整个正则表达式无法匹配任何内容。
它应该返回以下数组;
['title', 'age', 'age', 'title123']
Run Code Online (Sandbox Code Playgroud)
像下面这样更改你的正则表达式,然后从组索引 1 和 2 中获取你想要的字符串。
(?:_missing_:|_exists_:)([a-z1-9]+)|([a-z1-9]+)(?=:)
Run Code Online (Sandbox Code Playgroud)
您不需要将非捕获组包含(?:_missing_:|_exists_:)在捕获组中。missing:title这就是返回而不是返回的原因title。而且捕获团体[a-z1-9]+就足够了。
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |