正则表达式查找具有键值对的子字符串

时间:2018-01-12 01:28:57

标签: regex

我想在下面的场景中使用正则表达式:

输入字符串: " / EVE / TR = ABCD&安培; AY = 123&安培;测试= 123456789急症=事件"

正则表达式的输出应该是(搜索属性"测试"并获得对它的值:123456789

我正在使用正则表达式:[/ test =([^ \"] *)/,1]但它返回字符串" 123456789& e = event"

如何更正此正则表达式?

3 个答案:

答案 0 :(得分:2)

您需要将所有内容与下一个&匹配,而不是"

[/test=([^&]*)/, 1]

答案 1 :(得分:2)

正则表达不是一个神奇的魔杖,你会在涉及字符串的每个编程问题上挥手。

你在做什么语言?尝试使用现有工具,而不是使用正则表达式解析自己的工具。例如,如果您正在使用PHP,请使用parse_url函数,然后使用explode拆分=&上的查询字符串。

答案 2 :(得分:1)

试试这个正则表达式! 您可以在&之前提取任何内容。

&test=([^&]*)

我也附加正则表达式的输出,你可以验证它。

enter image description here