Regex 正则表达式替换IntelliJ中不带引号的字符串
我不太擅长正则表达式的东西,但我正在尝试替换任何匹配的东西 行动:什么 如果某物不在单引号或双引号内 我想用行动来代替这句话:“某物”Regex 正则表达式替换IntelliJ中不带引号的字符串,regex,intellij-idea,Regex,Intellij Idea,我不太擅长正则表达式的东西,但我正在尝试替换任何匹配的东西 行动:什么 如果某物不在单引号或双引号内 我想用行动来代替这句话:“某物” 因此,它不应该取代action:“某物”或action:“某物”,因为它们已经包含引号。某物可以是任何单词,所以它不是静态的。操作:工件将始终是静态的。使用捕获组来完成此操作: action: (\w+) 并替换为: action: "$1" 在行动中看到它: 显然,如果你想要更复杂的东西(非单词字符),它会改变。您可以使用以下内容: ^action: ([
因此,它不应该取代action:“某物”或action:“某物”,因为它们已经包含引号。某物可以是任何单词,所以它不是静态的。操作:工件将始终是静态的。使用捕获组来完成此操作:
action: (\w+)
并替换为:
action: "$1"
在行动中看到它:
显然,如果你想要更复杂的东西(非单词字符),它会改变。您可以使用以下内容:
^action: ([.-\w]+)$
这将确保字符串以
操作:
(通过^
)和任何单词字符、句点或破折号开始,直到字符串结束($
)。使用捕获组完成此操作:
action: (\w+)
并替换为:
action: "$1"
在行动中看到它:
显然,如果你想要更复杂的东西(非单词字符),它会改变。您可以使用以下内容:
^action: ([.-\w]+)$
这将确保字符串以操作:
(通过^
)和任何单词字符、句点或破折号开始,直到字符串结束($
)。您可以使用反向引用
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\""));
您可以使用反向引用
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\""));
你好像漏掉了一个逗号。@jackrabbit哈哈,不,我键入了,
,然后写了逗号
。。。去拿咖啡了好像你漏掉了一个逗号。@jackrabbit哈哈,不,我输入了,
,然后写了逗号
。。。去喝咖啡