正则表达式要捕获此字段?

时间:2018-07-09 19:05:30

标签: regex

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

对于这两个字符串

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

我想找到这个值

param2

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

&([\S]*)123

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

[&|\[]([\S]*)123

1 个答案:

答案 0 :(得分:3)

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

(\w+)(?:=123)[&\]]
  • \w+与一个或多个字母数字字符匹配,
  • (?:...)适用于非捕获组,因此您不会获得'= 123'部分
  • =123正在寻找具有所需值的相等性
  • [&\]]试图在'= 123'之后匹配']'或'&'
    • 如果方括号不是字符串的一部分,则可以使用[&$]
    • 查找字符串的结尾