符合这种情况的正确RegEx模式是什么?

时间:2019-06-19 18:10:22

标签: json regex

我正在尝试并且不幸地失败了,编写正则表达式来匹配以下所有在em中具有整数的行。我将添加注释以指示应该匹配的注释。

"modelstub": "some-123908", // No match
"modelstub": "00432", // No match
"modelstub": "1607", // No match
"modelstub": 16-02, // No Match 
"modelstub": 1605, // Match!
"modelstub": 1604, // Match!
"modelstub": 1603, // Match!
"modelstub": "1-602", // No match

请原谅我,因为我正在使用ColdFusion。相信我,没有人比我更讨厌它。

但这是我尝试的方法:("modelstub":+)[0-9]+

完整代码参考:

<cfset output = REReplace(output, '("modelstub":+)[0-9]+', '"modelstub": "$1"', "ALL")>

2 个答案:

答案 0 :(得分:2)

在使用的模式中,您使用:重复:+ 1次或多次,冒号和双引号之间缺少空格。

您可以将模式更新为("modelstub":) [0-9]+$,然后将有一个捕获组。

要仅在没有分组的情况下进行匹配,如果字符串末尾有逗号,则可以使用:

"modelstub": \d+,

Regex demo

如果这里没有逗号,则可以使用:

"modelstub": \d+$

Regex demo

答案 1 :(得分:1)

如果每行末尾有逗号,则@Thefourthbird的解决方案将起作用。如果没有,请尝试以下操作:"modelstub": \d+$