我正在與正則表達式中的記事本++「patching_rect」後到前兩個逗號之間的內容相匹配掙扎後匹配兩個逗號之間內容:「在文本的這個一行:正則表達式的字符串
」 [patching_rect 。
: 「:[218.5,165.0,150.0,20.0,
在這種情況下所需的匹配爲」 165.0"
我設法匹配第一對4與座標
(?<="patching_rect" : \[).*?(?=,)
但我想匹配第二個。誰能幫忙?
我正在與正則表達式中的記事本++「patching_rect」後到前兩個逗號之間的內容相匹配掙扎後匹配兩個逗號之間內容:「在文本的這個一行:正則表達式的字符串
」 [patching_rect 。
: 「:[218.5,165.0,150.0,20.0,
在這種情況下所需的匹配爲」 165.0"
我設法匹配第一對4與座標
(?<="patching_rect" : \[).*?(?=,)
但我想匹配第二個。誰能幫忙?
我不會打擾lookbehinds。這是一個解決方案。有了這個
("patching_rect"\s*:\s*\[[^,]+,\s*)[^,]+
:替換此
${1}0.0
這樣做什麼是很簡單:
"patching_rect"\s*:\s*\[
匹配的一切行動和包括[
[^,]+,\s*
第一值相匹配和逗號以及下面的空格[^,]+
第二值第一部分在$1
捕獲,並且在替換字符串重用匹配。
您也可以使用'\ K'來省略所需匹配前的所有內容。 –
@SebastianProske是的,好點。 OP:替換''patching_rect'\ s *:\ s * \ [[^,] +,\ s * \ K [^,] +'用'0.0' –
完美!奇蹟般有效。非常感謝! –
我想我知道了:訣竅是同樣的事情,以取代該行的整體啓動,然後後更換編號:
這正好在尋找:("patching_rect" ?: ?\[[^,]+,) ?([^,]+)
這正好替換:$1 0.0
問號在那裏,以便空格是可選的,以防萬一。
你的意思是'patching_rect [1]'? –
我需要用「0.0」替換「165.0」。但那165.0也可以是另一個數字。 –
「patching_rect」是否保證出現在行首? – Tom