我需要根据相当复杂的查询过滤字符串集合 我将查询输入作为字符串
var query1 ='Abbott near/10 (assay* OR test* ) AND BLOOD near/10 (Point P/1 Care)';
从这个查询INPUT字符串我想收集重要的单词:
var words= 'Abbott assay* test* BLOOD Point care';
查询可以更改,例如:
var query2='(assay* OR test* OR analy* OR array) OR (Abbott p/1 Point P/1 Care)';
来自此查询需要收集
var words='assay* test* analy* array Abbott Point Care';
我正在寻找你的建议。
感谢。
答案 0 :(得分:1)
您可以在正则表达式中使用|
来捕获要删除的字词和/或特殊字符:
([()]|AND|OR|(NEAR|P)\/\d+) ?
DEMO: https://regex101.com/r/rqpmXr/2
请注意正则表达式选项中的/gi
,其中i
表示它不区分大小写。
<强>说明强>
([()]|AND|OR|(NEAR|P)\/\d+)
- 这是一个捕获组,其中包含您在标题中指定的所有字词以及括号。(NEAR|P)\/\d+
- 只需清除此部分,\d+
表示一个或多个数字位于NEAR
或P
之后。 ?
- 捕获捕获的单词后可能的尾随空格。