我需要从RSS源中删除一些数据.
这是在a之前出现的所有内容:并且最好是在以下之后出现的空间:
例:
你好:查理想知道如何从冒号后面和前面的一个空格中删除他身后的一切.我最后总会有这个问号吗?
哪里:和你好匹配,但不是"查理打招呼"
感谢所有拥有这些精彩知识并花时间回复的人.
使用
^[^:]+:\s*
Run Code Online (Sandbox Code Playgroud)
代替
^.+:\s*
Run Code Online (Sandbox Code Playgroud)
这是它工作的一个例子:
perl -le 'my $string = q{Foo : bar baz}; $string =~ s{^[^:]+:\s*}{}; print $string;'
Run Code Online (Sandbox Code Playgroud)
我建议第一个在第二个以避免贪婪问题:
perl -le 'my $string = q{Foo : bar: baz}; $string =~ s{^[^:]+:\s*}{}; print $string;'
Run Code Online (Sandbox Code Playgroud)
要看到我提到的贪婪问题:
perl -le 'my $string = q{Foo : bar baz}; $string =~ s{^.+:\s*}{}; print $string;'
perl -le 'my $string = q{Foo : bar: baz}; $string =~ s{^.+:\s*}{}; print $string;'
Run Code Online (Sandbox Code Playgroud)