我正在解析一个外部提要,其中包含我想删除的帖子标题中的位置和日期,所以:
This happened on Date in Location
我需要找到on
(空间上的空间)并删除所有内容,直到行尾,对于in
(空间中的空间)也是如此。
我用谷歌搜索了一下,但正则表达式对我来说真的是深不可测,所以我很感激任何帮助。
谢谢!
好吧,文字“ on
”确实完全匹配。然后告诉正则表达式引擎匹配后面的所有内容:“ .*
”。(请注意,.
不匹配换行符,因此它可以根据需要工作。)
在“ in
”的情况下,您需要一个替代方案,它由括号()
和竖线标记|
:“ (on|in)
”。您还可以使用字符类使其更紧密[]
:“ [oi]n
”。
这样我们就得到了这个正则表达式:
/ [oi]n .*/
到行尾?那我想:
preg_replace("/(?:on|in).*?(\n|$)/", "", 'This happened on Date in Location');
会做的。
如果您想删除 and 之后的所有内容on
,in
而不是on
andin
本身,请使用否定的lookbehind。
(?<=\son\s).*
和
(?<=\sin\s).*