代码之家  ›  专栏  ›  技术社区  ›  Clark Gaebel

用正则表达式获取带标记的结果

  •  0
  • Clark Gaebel  · 技术社区  · 14 年前

    什么是一个基本的正则表达式 some string 如果给定字符串 quuz="bleh" foo="some string" bar="some other string" 哪里 一些字符串 some other string 是任意字符串。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Tim Pietzcker    14 年前

    引号之间的任何字符串:

    "([^"]*)"
    

    调用了引号之间的任何字符串 foo :

    foo="([^"]*)"
    

    引号之间的任何字符串,正确处理转义引号,即匹配 2\" by 4\" 在里面 "2\" by 4\"" :

    "((?:\\.|[^"\\])*)"
    

    在所有情况下,整体匹配包括周围的引号;捕获组 $1 将包含您感兴趣的字符串。如何访问它取决于您的regex实现。

        2
  •  1
  •   Jeremy W. Sherman    14 年前
    foo="([^"]*)"
    

    第一个(也是唯一一个)捕获组将包含引号之间的内容。它假定引号的内容可能是空的,但肯定不包含双引号字符。