作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
鉴于以下输入
$ cat pre
stuff MACRO1 stuff MACRO2
stuff MACRO2 stuff MACRO1
stuff MACRO2 stuff
$ perl -ne '/(?=.*MACRO1).*MACRO2/ ? print s/MACRO2/MACRO3/gr : print' pre
stuff MACRO1 stuff MACRO3
stuff MACRO3 stuff MACRO1
stuff MACRO2 stuff
.*MACRO2
部分是不必要的,现在我想了一下)
$ perl -ne '/MACRO1/ ? print s/MACRO2/MACRO3/gr : print' pre
$ perl -ne 'print s/(?=.*MACRO1)(?=.*MACRO2)MACRO2/MACRO3/gr' pre
stuff MACRO1 stuff MACRO2
stuff MACRO3 stuff MACRO1
stuff MACRO2 stuff
?=
作为主播,我认为上述方法不起作用是有道理的。但这似乎与“非消费”相矛盾。
最佳答案
首先,让我们找出实际的解决方案:
perl -pe's/MACRO2/MACRO3/g if /MACRO1/'
perl -pe's/MACRO2(?:(?<=MACRO1.*)|(?=.*MACRO1))/MACRO3/g'
关于regex - 当 Perl 中的一个正则表达式中存在两个字符串时替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45762836/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!