【发布时间】:2014-05-27 12:40:14
【问题描述】:
我有一个这样的文件:
Once upon a time, there lived a cat.
The AAAAAA cat was ZZZZZZ very happy.
The AAAAAAcatZZZZZZ knew many other cats from many AAAAAA cities ZZZZZZ.
The cat knew brown cats and AAAAAA green catsZZZZZZ and red cats.
AAAAAA 和 ZZZZZZ 类似于 { 和 },但用于避免其他脚本可能将 { 和 } 解释为其他含义的问题。
如果在AAAAAA 和ZZZZZZ 之间找不到“猫”,我需要删除它的所有外观。
Once upon a time, there lived a .
The AAAAAA cat was ZZZZZZ very happy.
The AAAAAAcatZZZZZZ knew many other s from many AAAAAA cities ZZZZZZ.
The knew brown s and AAAAAA green catsZZZZZZ and red s.
- 所有
AAAAAA都有一个匹配的ZZZZZZ。 -
AAAAAA和匹配的ZZZZZZ不会跨行拆分。 -
AAAAAA和匹配的ZZZZZZ永远不会嵌套。 - 上例中的模式“cat”不被视为单词。这可以是任何东西。
我已经尝试了几件事,例如:
perl -pe 's/[^AAAAAAA](.*)(cat)(.*)[^BBBBBBB]//g' <<< "AAAAAAA cat 1 BBBBBBB cat 2"
如果在某些匹配的符号集之间找不到任何模式,我该如何删除它?
【问题讨论】: