示例数据:
ID Name User
12 Test Same
14 Xyz Joe
15 Abc John
16 Def Bill
17 Ghi Donald
如果用户搜索Abc或Joe,他应该获取该行。
正则表达式:
'Abc|Joe'
输出:
14 Xyz Joe
15 Abc John
现在,如果用户进一步搜索e,它应该根据先前的输出(检索到2行)进行过滤,因此我将获得14个Xyz Joe。这可能使用正则表达式吗?
我想把所有这些都放在一个正则表达式中。
`'Abc|Joe and the second filter goes here (All in one regex)'`
使用案例:用户选择复选框以设置要对数据应用的过滤器(名称和用户列中的所有数据均可用)。然后,他可以使用搜索文本框再次搜索过滤后的结果。
答案 0 :(得分:1)
对于2个过滤器:
/^\d+\s+(?:Abc|Xyz|Def)\s+\S*(?:Jo|ill).*/mg;
如果用户没有指定第二个过滤器,您可以将其留空(?:)
。
如果您阅读有关正则表达式语法的几分钟,我可以创建这些表达式,所以请允许我建议:
答案 1 :(得分:1)
((firstRegex)(?:.*(secondRegex)))|((secondRegex)(?:.*(firstRegex)))
((Abc|Xyz)(?:.*(Jo)))|((Jo)(?:.*(Abc|Xyz)))
我们不知道之前或之后的正则表达式,所以它有两种情况,我们使用|
结合这些情况。如果有更多的搜索,建议你写一些代码。