我正在努力使用Notepad ++中的正则表达式来匹配“patching_rect”之后前两个逗号之间的内容:[“在这一行文本中:
“patching_rect”:[218.5,165.0,150.0,20.0],
在这种情况下,所需的匹配是“165.0”。
我设法将4个坐标中的第一个与:
匹配(?<="patching_rect" : \[ ).*?(?=,)
但我想要匹配第二个。有人可以帮忙吗?
答案 0 :(得分:2)
我不会为看起来很烦恼。这是一个解决方案。替换这个:
("patching_rect"\s*:\s*\[[^,]+,\s*)[^,]+
有了这个:
${1}0.0
这样做很简单:
"patching_rect"\s*:\s*\[
匹配[
[^,]+,\s*
匹配第一个值和逗号以及以下空格[^,]+
匹配第二个值第一部分在$1
中捕获,并在替换字符串中重复使用。
答案 1 :(得分:0)
我想我已经得到了:诀窍是用相同的东西替换整行的开头,然后替换后面的数字:
这在查找:("patching_rect" ?: ?\[[^,]+,) ?([^,]+)
这包括替换:$1 0.0
问题是存在的,所以空格是可选的,以防万一。