【发布时间】:2011-09-28 15:44:03
【问题描述】:
我正在考虑 PHP 中的一个特殊的正则表达式问题,但我找不到解决方案。 我尝试将一些文本拆分为术语,以获得简单的单词、数字和网址。
所以我决定拆分每个非字母数字字符 (\w)。
为了处理不同的语言,我将 \w 与其他字母一起使用,例如 Ää éèÈ 等。
例子:
20,000 15.20 This is at Text. Right?!
www.google.com Jean Béraud
到目前为止,我使用以下正则表达式来拆分文本:
[^\w(äÄüÜöÖßèé)]
这在 80% 的情况下效果很好,但将 20,000 分为 20 和 000 也将 www.google.com 分为 www google com
所以我试图把数字放在一起,但仍然在分数上分开,比如Text. 得到Text
为了匹配 15.20,以下方法有效:(\d+\.\d+),但是如何将否定与其他正则表达式字符串结合起来?以下将不起作用:(\d+\.\d+)|[^\w(äÄüÜöÖßèé)]?
以及:如何处理网址?
【问题讨论】:
-
分割空间不适合你吗?
-
不,因为我还需要拆分“文本”。到文本'。拆分和空格将忽略 !?.:,;