无论顺序如何,可以使用什么正则表达式匹配子字符串?

时间:2016-07-07 14:41:32

标签: regex substring

无论我使用它的顺序如何,我都希望匹配一个子字符串。例如:

  

82toto12a   MyProject888   TeamCitySupermarket897

我有这个匹配它的正则表达式

.*?toto.*?12

但我正在动态创建正则表达式,所以我最终可能会:

.*?12.*?toto

当然,这不起作用。我有一个转换为正则表达式的搜索框,因此用户可以输入:" 12和toto"这将转化为上述正则表达式,当然不起作用。

要匹配任何字符串,用户可以输入:

  

MyProject和888   要么   888和MyProject

这些用户字符串最终都会被转换为正则表达式:

.*?MyProject.*?888
.*?888.*?MyProject

当然第二个正则表达式与任何东西都不匹配......

用户输入的每个单词匹配的测试方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以为比赛使用外观:

\b(?=\w*toto)(?=\w*12)\w+

OR:

\b(?=\w*12)(?=\w*toto)\w+

两者都符合您的输入:82toto12a

RegEx Demo