1

我想替换/**/文件夹中的所有文件。我试过了:

perl -pi -w -e 's/\/**\///g;' *.java

但出现错误:Nested quantifiers in regex; marked by <-- HERE in m//** <-- HERE // at -e line 1.

同样的事情:

sed 's/\/**\///g;' 

我基本上需要/**/用一个空白空间替换。

4

2 回答 2

9

您还需要转义星号。为了保持可读性,您可能还需要使用其他分隔符:

sed "s#/\*\*/##g"
于 2013-06-21T22:03:42.583 回答
1

您可以*在 内指定[]

perl -pi -w -e 's#/[*]{2}/# #g;' *.java

或者,您可以使用quotemeta运算符:

perl -pi -w -e 's#\Q/**/\Q# #g;' *.java

它转义所有不匹配的 ASCII 字符/[A-Za-z_0-9]/

于 2013-06-22T06:56:26.870 回答