【发布时间】:2015-05-17 12:31:19
【问题描述】:
我尝试使用 preg_split 拆分文本,但我没有得到它的正则表达式。
示例:
I search 1, regex to: no. Or... yes!
应该得到:
Array
(
[0] => I
[1] => search
[2] => 1
[3] => ,
[4] => regex
[5] => to
[6] => :
[7] => no
[8] => .
[9] => Or
[10] => ...
[11] => yes
[12] => !
)
我尝试了以下代码:
preg_split("/([\s]+)/", "I search 1, regex to: no. Or... yes!")
结束于:
Array
(
[0] => I
[1] => search
[2] => 1,
[3] => regex
[4] => to:
[5] => no.
[6] => Or...
[7] => yes!
)
编辑:好的,原来的问题已经解决了,但是我在示例中忘记了一些内容:
新示例:
I search 1, regex (regular expression) to: That's it is! Und über den Wolken müssen wir...
应该得到:
array (
0 => 'I',
1 => 'search',
2 => '1',
3 => ',',
4 => 'regex',
5 => '(',
6 => 'regular',
7 => 'expression',
8 => ')',
9 => 'to',
10 => ':',
11 => 'That',
12 => '\'s',
13 => 'it',
14 => 'is',
15 => '!',
16 => 'Und',
17 => 'über',
18 => 'den',
19 => 'Wolken',
20 => 'müssen',
21 => 'wir',
22 => '...',
)
一件事是,第一个解决方案中的开头 ( 不匹配。另一件事是,单词中的德语字符 ÄÖÜäöüß 也不匹配。
希望可以更新问题(不要打开新问题)。
我的last try 如下,不匹配:
\s+|(?<!(A-Za-z1-0ÄÖÜäöüß)+)(?=(A-Za-z1-0ÄÖÜäöüß)+)
【问题讨论】:
-
我试试但是你现在用哪个代码得到了什么?
-
对不起,我不知道如何使积极的前瞻工作。我只有 "/[\s]+/" 工作,这一切都结束了:(
-
这是一个开始!将您当前的代码包含在您的问题中,以便我们查看您的尝试,并更好地向您展示您犯错的地方
-
我做了一个简单的测试脚本在:link
-
您的代码应该在问题中而不是非现场链接。
标签: php regex pcre preg-split