如何根据某些条件编写正则表达式来匹配字符串?

时间:2015-08-10 05:36:39

标签: javascript regex

我有这样的文字字符串:

SOMEVALUE=TEST;SOME_VALUE_2=VALUE;SOME_VALUE_3=TESTValue

对于此字符串,我需要找到SOME_VALUE_2的值,在这种情况下为VALUE,但它可以是任意值(ex NEWVALUE等)

我试过这个正则表达式:

SOME_VALUE_2=.*[;]

但这与完整文本相符:

SOME_VALUE_2=VALUE;

但我想只匹配VALUE并返回。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

尝试这种模式

SOME_VALUE_2=(.*);SOME_VALUE_3

您正在寻找的将是捕获组1。

经过测试@ Regex101

如果您不想使用捕获组,那么您可以尝试这种前瞻/后瞻模式

(?<=SOME_VALUE_2=).*(?=;SOME_VALUE_3)

经过测试@ Regex101

答案 1 :(得分:1)

您也可以尝试这种模式:

SOME_VALUE_2=([^;]+)

在此之前和之后=符号,您可以指定任何键,然后您可以捕获任何不是;的内容。

Demo