我有一个正则表达式来匹配格式为电话号码或类似于电话号码的数字。我必须省略以正斜杠开头的数字,因为这可能是 URL 的一部分。我使用了以下正则表达式。它在所有情况下都能很好地工作,但正则表达式会忽略句子开头没有正斜杠的任何数字。谁能帮我解决这里的错误吗?/[^\/0-9](\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{2,3}[\s.-]?\d{3}/i测试案例1:23242424 242424242 24242424424 2424244242 242 24242424/1212121212 1 05454545454 5454045454 0115545454 /454545454输出 1:(以粗体斜体表示的匹配项)23242424 242424242 24242424424 2424244242 242 24242424/1212121212 1 05454545454 5454045454 0115545454 /454545454测试用例2:(第一个数字前面有一个空格)23242424 242424242 24242424424 2424244242 242 24242424/1212121212 1 05454545454 5454045454 0115545454 /454545454输出 2:(以粗体斜体表示的匹配项)23242424 242424242 24242424424 2424244242 242 24242424/1212121212 1 05454545454 5454045454 0115545454 /454545454
2 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
我的方法非常残酷,但在搜索数字之前,我会简单地从主字符串中删除所有以 / 开头的数字。就像是$str = preg_replace('/\/\d+/', '', $str);
- 2 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消