如何将带有大括号的glob转换为正则表达式

时间:2014-06-03 15:05:51

标签: glob

我想将诸如c {at,lif}之类的glob更改为正则表达式。它会是什么样子?我尝试过使用/ c [at,lif] /但是没有用。

1 个答案:

答案 0 :(得分:0)

对于基本GREP操作,请参见f.e. http://www.regular-expressions.info/refquick.html

来自http://www.regular-expressions.info/alternation.html

  

如果要搜索文字文本cat或dog,请使用竖线或竖线符号分隔两个选项:cat | dog。如果您想要更多选项,只需展开列表:cat | dog | mouse | fish。

这表明以下内容应该有效:

/c(at|lif)/

强制你的错误,然后:

/c[at,lif]/

方括号[..]不在GREP中用于分组,而是用于定义character class。也就是说,在这里创建一个允许其中一个字符at,lif的自定义类。因此,它匹配cac,cf - 但始终只匹配一个字符。添加重复代码c[at,lif]+只显示 才能正常工作,因为它会匹配catclif,还会cilt,{{1} }和calf