【发布时间】:2013-05-02 01:47:33
【问题描述】:
这个问题是我之前问题的延续:
我想使用带有字符点 (.) 的正则表达式将段落字符串拆分为句子数组。下一个问题是关于数字的。
这是一个例子:
2013 年。您好,安德烈先生,您的钱是 40.000 印尼盾。
当然是正确的输出:
Array ( [0] => 今年 2013 [1] => 你好 Andre 先生,你的钱是 40.000 印尼盾)
标题问题(先生)已经从我之前的问题中解决了。我试过添加数字的正则表达式,但仍然不起作用。
我没用的代码:
$titles_number=array('(^[0-9]*)','(?<!Mr)', '(?<!Mrs)', '(?<!Ms)');
$sentences=preg_split('/('.implode('',$titles_number).')\./',$text);
print_r($sentences);
我可以一击完成吗(一个正则表达式可以解决两个问题)?如果我做不到,请告诉我。 提前致谢
【问题讨论】:
-
您是否尝试过使用构建块
(?<!\d)(?!\d)进行负前瞻并在后面查找数字? -
虽然我没有答案,但网站 www.regexpal.com 是测试正则表达式的好方法。它是基于 JavaScript 的,因此它会实时更新。我经常使用它。
-
感谢您的评论,仍在尝试。 regex101.com 也值得一试:D