【发布时间】:2014-06-03 15:05:51
【问题描述】:
我想将诸如 c{at,lif} 之类的 glob 更改为正则表达式。它会是什么样子?我尝试过使用 /c[at,lif]/ 但这不起作用。
【问题讨论】:
标签: glob
我想将诸如 c{at,lif} 之类的 glob 更改为正则表达式。它会是什么样子?我尝试过使用 /c[at,lif]/ 但这不起作用。
【问题讨论】:
标签: glob
有关基本 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。因此它匹配ca 或c, 或cf——但总是只有一个字符。添加重复代码c[at,lif]+ 仅似乎可以工作,因为它会同时匹配cat 和clif,以及cilt、calf 和c,a,t。
【讨论】: