Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式替换IntelliJ中不带引号的字符串_Regex_Intellij Idea - Fatal编程技术网

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哈哈,不,我输入了
,然后写了
逗号
。。。去喝咖啡