如果包含三个字符串,我需要过滤一个字符串:
/A/ABC
A_ABC
Downloaded
我有两种类型的线。全部包含Downloaded
,但仅包含/A/ABC
或A_ABC
每个子字符串的左侧和右侧都有空格。
如果一行包含Downloaded
和ABC
,则匹配行的正确正则表达式是什么?
我想匹配ABC
的最大问题是其斜线或下划线。
我尝试了以下表达式:
'\bDownloaded\b + \b/A/ABC\b | \/ABC\b'
但是我没有收到匹配的行。也许有人可以轻松解决我的问题。谢谢!
/A/
和A_
仅是示例。可能有任何其他字母或多个字母。我只需要知道生产线上是否有ABC。
要清楚:我检查了几个other posts,这些问题与我的问题很接近,但是最终无法解决我的问题。
答案 0 :(得分:1)
您可以使用正向查找,并断言单词Downloaded
,然后将字符串中的ABC
匹配
^(?=.*\bDownloaded\b).*ABC.*$
这将匹配:
^
声明字符串的开头(?=.*\bDownloaded\b)
肯定的lookahead,断言单词边界之间已下载了单词.*ABC.*
匹配任意字符0次以上,然后匹配ABC
,然后匹配任意0次以上字符$
声明字符串结尾