【问题标题】:How do I match pattern and delete the whole line from multiple lines string如何匹配模式并从多行字符串中删除整行
【发布时间】:2021-11-15 13:24:27
【问题描述】:

我有这个多行字符串

IP 5002

<IP 5002
<

abcbbdbdbd
abcbbdbdbd
abcbbdbdbd
abcbbdbdbd
;

我正在尝试匹配“

IP 5002

<

abcbbdbdbd
abcbbdbdbd
abcbbdbdbd
abcbbdbdbd
;

我只删除了

my $str = "sdasdasd
<IP 5002
<

dadas
dasdasd
dasdsada

";

$str =~ s/<IP.*//; 

print "\n" . $str . "\n";

谁能帮忙,搜索结果主要涉及通过不从文件中读取行并写入新文件来删除行。我试图从一个字符串中做到这一点。

谢谢

【问题讨论】:

    标签: string perl


    【解决方案1】:

    你可以删除换行符:

    $str =~ s/<IP.*\n//;
    

    如果你想避免贪婪匹配:

    $str =~ s/<IP.*?\n//;
    

    【讨论】:

    • 如果我们提到贪婪(为什么不提到),那么我还要声明 . 与没有修饰符 /s 的换行符不匹配(没有它,贪婪在这里无关紧要) .
    猜你喜欢
    • 1970-01-01
    • 2020-11-19
    • 2012-01-27
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2015-12-25
    相关资源
    最近更新 更多