正则表达式修剪(但不包括)最后一场比赛

时间:2012-07-03 16:52:27

标签: regex

我正在使用Regex来修改Twitter帖子。我目前正在尝试修剪每条推文,但不包括最后一次转发字符串(例如:RT @Sam:)。我已经过滤了我的Feed,因此只保留包含至少一个转发字符串的推文。我用来执行此操作的正则表达式是RT @[A-Za-z0-9_]+:

所以,我的问题是,简单地说,我如何修剪(切断)每个字符串,但不包括RT @[A-Za-z0-9_]+:的最后一次出现?

所以,例如:

  RT @Sam:看看Susan说的话。 RT @Susan:您好!

最终应该是:

  RT @Susan:你好!

(如果它有用,我正在使用Yahoo!Pipes进行此实验。)

2 个答案:

答案 0 :(得分:3)

使用正则表达式(RT @(?!.*@).+:.+)查找匹配项...

否定前瞻(?!.*@)是一个条件,表示在此之后没有@

测试here

答案 1 :(得分:2)

(.+)RT @.+:.+

第一个捕获组将包含除最后一个RT @ [Anything]之外的所有内容:[Anything]