2012-04-25 80 views
0

我解析其中包含的文章标题中的位置和日期,我想摆脱,所以外部饲料:直到字符串的结尾 - 正则表达式

This happened on Date in Location

我需要找到on (空间上的空间)并移除一切,直到行的末尾,in(太空中的空间)相同。

我google了一下,但正则表达式真的深不可测,所以我会很感激任何帮助。

谢谢!

回答

1

那么,一个文字“on”确实匹配。然后告诉正则表达式引擎匹配后面的所有内容:“.*”。 (请注意,该.不匹配换行符,所以它的工作原理是必要的。)

在“in”你需要一个替代方案,这是由括号()及纵条|标记的情况:“(on|in)” 。你还可以通过字符类[]:“[oi]n”使它更紧密。

随着我们在这个表达式到达:

/ [oi]n .*/ 
0

到行尾?那么我想:

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

会这样做。

+0

返回 “这件事发生的”。看起来不像我从问题中得到的结果。 – Boldewyn 2012-04-25 07:27:58

+0

我不确定每当他想要'保存'还是不保存。我想不是,那么改为“发生这种事”。 – 2012-04-25 07:34:27

0

使用负回顾后,如果你想删除一切onin但不是onin自己之后。

(?<=\son\s).* 

(?<=\sin\s).* 

http://regexr.com?30ops

相关问题