我必须用正则表达式替换以下内容。
echo Hello World $text
带
echo (Hello World $text)
我的尝试是
(echo)(\w+|\W+)/$1($2)
但这不是让我得到任何想法的理想结果吗?
答案 0 :(得分:1)
为什么你的正则表达式不起作用? (\w+|\W+)
要么匹配一个或多个单词字符,要么匹配一个或多个非单词字符,而不是它们的组合。然后,这将仅匹配echo
后面的空格,忽略该行的其余部分。也许您的意思是使用[\w\W]+
或((?:\w|\W)+)
,但实际上,您需要的只是.*
。
(echo )(.*)
(echo )
按字面意思捕获此文字(.*)
将任意字符捕获到捕获组替换$1($2)
输入echo Hello World $text
输出echo (Hello World $text)