0

我正在解析一个外部提要,其中包含我想删除的帖子标题中的位置和日期,所以:

This happened on Date in Location

我需要找到on(空间上的空间)并删除所有内容,直到行尾,对于in(空间中的空间)也是如此。

我用谷歌搜索了一下,但正则表达式对我来说真的是深不可测,所以我很感激任何帮助。

谢谢!

4

3 回答 3

1

好吧,文字“ on”确实完全匹配。然后告诉正则表达式引擎匹配后面的所有内容:“ .*”。(请注意,.不匹配换行符,因此它可以根据需要工作。)

在“ in”的情况下,您需要一个替代方案,它由括号()和竖线标记|:“ (on|in)”。您还可以使用字符类使其更紧密[]:“ [oi]n”。

这样我们就得到了这个正则表达式:

/ [oi]n .*/
于 2012-04-25T07:23:33.320 回答
0

到行尾?那我想:

preg_replace("/(?:on|in).*?(\n|$)/", "", 'This happened on Date in Location');

会做的。

于 2012-04-25T07:22:51.417 回答
0

如果您想删除 and 之后的所有内容onin而不是onandin本身,请使用否定的lookbehind。

(?<=\son\s).*

(?<=\sin\s).*

http://regexr.com?30ops

于 2012-04-25T07:35:49.403 回答