2013-04-29 88 views
0

规则很简单:对面的正则表达式的正则表达式

  • 斯普利特NOT:一个空白" "其次是“或”或“|” :

例子:

"thing to say" france (true) 

"thing to say" OR thing (false) 

"thing to say" | thing (false) 

我试图找到一个正则表达式来帮我做(用pregs_split)

我只能做这样的事情真的/\||OR| \|| OR| \| | OR |\| | OR/基本的,但我需要相反情况的正则表达式。

+0

你是一个空白?而不是'_' – 2013-04-29 14:33:22

+0

是@DarylGill一个空白 – Alucard 2013-04-29 14:34:36

+0

为什么不只是删除“OR”和“|”从输入? – j08691 2013-04-29 14:35:31

回答

5

使用负前瞻

"thing to say" ?(?!\||OR) 

编辑:您的评论split by a space followed by "OR" or "|"比我理解你的问题是不同的。在这种情况下,它实际上是有意义的使用积极前瞻:

/ (?=\||OR)/ 
+0

你的意思是类似于 '$ matches = preg_split('?(?!\ || OR)',$ stringToSplit);' – Alucard 2013-04-29 14:35:43

+0

你的问题有点不清楚..我以为你只是想匹配*而不是*那个正则表达式。因为它不消耗任何东西,所以你不能分开。你需要一个更具体的正则表达式。如果你只是分割一个空格,它会分裂每个单词 – 2013-04-29 14:38:48

+0

耶存在,我需要分割一个空格,后跟“OR”或“|”这就是为什么我有点困惑 – Alucard 2013-04-29 14:40:34

相关问题