我正在尝试通过perl(从shell)进行跨换行匹配。以下是:
(echo a b c d e; echo f g h i j; echo l m n o p) | perl -pe 's/(c.*)/[$1]/'
I get this:
a b [c d e]
f g h i j
l m n o p
这正是我所期望的。但是当我在我的正则表达式末尾加上/s
时,会出现这种情况:
a b [c d e
]f g h i j
l m n o p
我期望并希望它输出的是这样的内容:
我所期待的内容是:
a b [c d e
f g h i j
l m n o p
]
我的正则表达式有问题吗?还是我的perl调用标志有问题?
/s
应该可以完成任务。但是,你也可以使用[\S\s]*
代替.*
。 - Rohit Jain