【问题标题】:How to convert a glob with braces to a regex如何将带大括号的 glob 转换为正则表达式
【发布时间】:2014-06-03 15:05:51
【问题描述】:

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

【问题讨论】:

    标签: glob


    【解决方案1】:

    有关基本 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,以及ciltcalfc,a,t

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      相关资源
      最近更新 更多