Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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 正则表达式:如何替换匹配子字符串中的给定字符_Regex - Fatal编程技术网

Regex 正则表达式:如何替换匹配子字符串中的给定字符

Regex 正则表达式:如何替换匹配子字符串中的给定字符,regex,Regex,我想用另一个字符替换给定的字符,但只在匹配某个模式的子字符串中替换 特别是,我想在所有以cmd开头的单词中用下划线替换破折号_ 例如:cmd\u word1-word2-word3应该变成cmd\u word1\u word2\u word3。但其他地方的随机w1-w2应该保持破折号。我不知道有多少人——可能有。尽管可能最多有4个,如果这有帮助的话 我正在尝试使用Xcode搜索/替换函数来实现这一点,但如果需要,也可以使用vim、se、python、perl。我意识到我试图处理的最困难的部分是解

我想用另一个字符替换给定的字符,但只在匹配某个模式的子字符串中替换

特别是,我想在所有以cmd开头的单词中用下划线替换破折号_

例如:cmd\u word1-word2-word3应该变成cmd\u word1\u word2\u word3。但其他地方的随机w1-w2应该保持破折号。我不知道有多少人——可能有。尽管可能最多有4个,如果这有帮助的话


我正在尝试使用Xcode搜索/替换函数来实现这一点,但如果需要,也可以使用vim、se、python、perl。

我意识到我试图处理的最困难的部分是解释一个词中的多个“-”。 但事实证明我也不需要,我只需要处理1“-”的情况,并多次重新运行正则表达式

因此,在Xcode中,我确实找到了/替换为:

查找:cmd_(.)-()( 替换:cmd_$1_$2(

第一次运行后,“cmd\u word1-word2-word3”将变成“cmd\u word1-word2\u word3”,第二次运行后将变成“cmd\u word1\u word2\u word3”