perl:仅当匹配值之前没有字符时才打印剩余字符串。

时间:2016-08-28 00:11:50

标签: string perl

以下内容打印“B”后的整行内容

perl -ne'print if /B[.] (.*)/s' $string > file

如果“B”之前没有其他字符,我该如何匹配/打印该行?换句话说,如果在"B. "之前有一个字符,即。 "TAB."跳过该行/不打印。

正确的“B.”始终在新行上,唯一正确的匹配行显示如下:

B. some text here

2 个答案:

答案 0 :(得分:0)

带有前导克拉的正则表达式表示表达式只有在它是该行的第一个项目时才匹配。模式/^B[.] (.*)/s可以为您提供您正在寻找的结果。

答案 1 :(得分:0)

^放在B前面。这意味着将单词start与B匹配。所以你的正则表达式应该是/^B\. (.*)/。然后在模式匹配中不需要s标记。