代码之家  ›  专栏  ›  技术社区  ›  ab11

正则表达式来捕获这个字段?

  •  1
  • ab11  · 技术社区  · 7 年前

    我想提取与值123对应的参数名。

    对于这两条弦

    [param1=456&param2=123]
    [param2=123&param1=456]
    

    我想找到这个价值

    param2
    

    这个正则表达式适用于第一行,但不适用于第二行

    &([\S]*)123
    

    这个正则表达式适用于第二行,但不适用于第一行

    [&|\[]([\S]*)123
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Jacob Boertjes    7 年前

    这个正则表达式将查找与123匹配的名称

    (\w+)(?:=123)[&\]]
    
    • \w+ 正在匹配一个或多个字母数字字符,
    • (?:...) 对于非捕获组,这样就不会得到“=123”部分
    • =123 正在寻找与所需值相等的值
    • [&\]] 在“=123”之后查找匹配的“]”或“&”
      • 如果方括号不是字符串的一部分,则可以使用 [&$]