我需要过滤一个字符串,如果它包含三个字符串:
/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,但最终无法解决我的问题。
您可以使用正向前瞻并断言单词Downloaded
,然后在字符串中匹配ABC
^(?=.*\bDownloaded\b).*ABC.*$
这将匹配:
^
断言字符串的开头(?=.*\bDownloaded\b)
正面lookahead,断言下面是单词边界之间的下载词.*ABC.*
匹配任何角色0次以上,然后ABC
跟随任何角色0+次$
断言字符串的结尾