正则表达式替换 IntelliJ 中不在引号中的字符串

clo*_*ker 1 regex intellij-idea

我不太擅长正则表达式,但我想做的是替换任何匹配的内容

动作:某事

其中某物不在单引号或双引号内。

我想用行动来代替它:“某事”。

因此,它不应该替换 action: "something" 或 action: 'something' 因为它们已经包含引号。这个东西可以是任何单词,所以它不是静态的。动作:片段将始终是静态的。

bra*_*ipt 7

使用捕获组来完成此操作:

action: (\w+)
Run Code Online (Sandbox Code Playgroud)

并替换为:

action: "$1"
Run Code Online (Sandbox Code Playgroud)

查看实际效果:http://regex101.com/r/sP4pP7

action: something
//becomes
action: "something"
Run Code Online (Sandbox Code Playgroud)

显然,如果你想要更复杂的东西(非单词字符)它会改变。你可以使用这样的东西:

^action: ([.-\w]+)$
Run Code Online (Sandbox Code Playgroud)

这将确保字符串以action:(via ^) 开头,any word-character, period, or dash直到字符串结尾 ( $) 。