正则表达式反向引用匹配上面的字线

时间:2019-05-07 11:19:25

标签: regex newline backreference

我想用sed或perl替换Tomcat配置文件中的密码。在regexr.com上使用我的模式可以正常工作,但不能在我的shell上使用。我找不到问题。应该用PASSWORD_REMOVED代替123456:

$ perl -p -e 's/(.*assword.*\nvalue=)(.*)/$1"PASSWORD_REMOVED"/g' bla
<Environment
name="web.service.techPasswordXXX"
value="123456"
type="java.lang.String"
</Environment>

与sed相同:

$ sed -e 's/\(.*assword.*\nvalue=\)\(.*\)/\1"PASSWORD_REMOVED"/' bla
<Environment
name="web.service.techPasswordXXX"
value="123456"
type="java.lang.String"
</Environment>

模式可在regexr.com上使用:https://regexr.com/4dh6d

0 个答案:

没有答案