直到弦的结尾 - 正则表达式

时间:2012-04-25 07:18:03

标签: php regex replace

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

This happened on Date in Location

我需要找到on(空格上的空格)并删除所有内容直到行尾,同样适用于in(空格中的空格)。

我用Google搜索了一下,但正则表达式对我来说真是难以理解,所以我很感激任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:1)

嗯,文字“on”确实匹配。然后告诉正则表达式引擎匹配以下所有内容:“.*”。 (注意,.与换行符不匹配,因此可以根据需要使用。)

对于“in”,您需要一个替代方案,该方案由括号()和竖线|标记:“(on|in)”。您还可以使用字符类[]:“[oi]n”来使其更紧凑。

随着我们到达这个正则表达式:

/ [oi]n .*/

答案 1 :(得分:0)

到最后一行?然后我想:

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

会这样做。

答案 2 :(得分:0)

如果您要删除onin之后的所有内容,而不是onin之后的所有内容,请使用否定后备广告。

(?<=\son\s).*

(?<=\sin\s).*

http://regexr.com?30ops