[英]Regex to replace string not in quotes in IntelliJ
我不是很擅長正則表達式的東西,但我想要做的就是替換任何匹配的東西
行動:某事
什么東西不在單引號或雙引號內。
我想用行動取代它:“某事”。
所以,它不應該取代行動:“某事”或行動:'某事',因為那些已經包含引號。 這個東西可以是任何單詞,所以它不是靜態的。 動作:作品永遠是靜態的。
使用捕獲組來完成此任務:
action: (\w+)
並替換為:
action: "$1"
請參閱以下內容: http : //regex101.com/r/sP4pP7
action: something
//becomes
action: "something"
顯然,如果你想要更復雜(非單詞字符)的東西,它會發生變化。 你可以使用這樣的東西:
^action: ([.-\w]+)$
這將確保字符串以action:
開頭action:
via ^
),以及any word-character, period, or dash
直到字符串結尾( $
)。
你可以使用反向引用
Pattern PATT = Pattern.compile("action:(\\w+)");
System.out.println(PATT.matcher("test action:word").replaceFirst("action:\"$1\""));
System.out.println(PATT.matcher(" bla action:\"quoted\" bla").replaceFirst("action:\"$1\""));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.