我有FOOD, FOOD20 and FOOD 30
的结果,但其他结果来自FOOD
,例如DOGFOOD, CATFOOD
使用REGEX。
我正在尝试使用以下方法放置一个精确的过滤器: -
FOOD|FOOD20|FOOD30
仅提取这些结果而不是使用REGEX。不幸的是,这会返回0结果。
还有其他解决方法吗?
答案 0 :(得分:1)
精确过滤器是一个文字字符串匹配,所以你明确地寻找与“FOOD | FOOD20 | FOOD30”完全匹配的东西。
如果您想确保该值正好是FOOD
,FOOD20
或FOOD30
,请使用REGEX匹配,但在每个值前面加上一个插入符号(^
),这标志着该行的开头,并使用美元符号($
)跟随每个值,这标志着该行的结束。
所以,你的REGEX表达式是:
^FOOD$|^FOOD20$|^FOOD30$
如果您的想法是跟踪以“FOOD”开头的任何内容,后跟一个数字,然后结束,您可以将表达式简化为以下内容:
^FOOD[0-9]*$
([0-9] *部分表示将数字0到9匹配零次或多次,因此当FOOD
之后没有数字时,或者当有数字时,它匹配。)
这将匹配FOOD
,FOOD20
,FOOD30
,FOOD99
和FOOD100
,但不匹配CATFOOD
,DOGFOOD10
,等