将包含通配符的字符串转换为regexp

时间:2015-07-13 15:10:26

标签: regex pcregrep

我需要使用正则表达式转换包含通配符的字符串。

例如,如果我有一个如下所示的输入字符串:

  

的b * DD * C

这意味着

  

ab(任意数量的任何字符)d(任意数量的任何字符)c

其中any character是任何字母数字字符或'_'。

我尝试了类似下面的内容:

  

'ab([[:alnum]] |'_')* dd([[:alnum]] |'_')* c'

但是,正如您所看到的,例如,([[:alnum]] | '\_')*也匹配d,因此,我无法获得所需的匹配。

我想到的是使用以下内容:

  

'ab [^ d] * dd [^ c] * c'

还有其他更好的解决方案吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

/ab\w*?dd\w*?c/

\w*?将匹配任何字母数字字符或_ 非贪婪。