regex - 正则表达式可以匹配出现在冒号之前的所有内容?

标签 regex

我需要从RSS供稿中删除一些数据。

它是出现在:之前的所有内容,最好是出现在之后的空格:

例:

您好:查理(Charlie)想知道如何从冒号后面和前面的一个空格中删除他身后的所有东西。我将始终在最后带有这个问号吗?

:和hello会匹配,但“Charlie说你好”不匹配

感谢所有拥有这些精彩知识并花时间回复的人。

最佳答案


^[^:]+:\s*

代替
^.+:\s*

这是它工作的一个示例:
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;'

要查看我提到的贪婪问题:
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;'

关于regex - 正则表达式可以匹配出现在冒号之前的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858519/

相关文章:

regex - 匹配 Linux Grep 命令字符串之间的任何内容

Python,字符串中的正则表达式: How to remove letter.字母(a.b)?

php - 删除空白字符,除了 PHP 中的引号内?

java - 在java中使用正则表达式解析值

Python 正则表达式 : Reject one two-digit number and accept other two-digit numbers

正则表达式:设置时可选的字符(点),它必须位于字符串集中的任何位置

Ruby 正则表达式和字符串变量

java - 使用正则表达式替换字符串中的数字

java - 使用正则表达式将一些数字分别分组

javascript - 如何检查一个字符串是否有连续的空格 3