正则表达式删除电话号码打破
问题描述:
我有了一些线之间数字的巨大代码: 如:正则表达式删除电话号码打破
code code code
7362
code code code
code code code
code code code
63
code code code
...
我想删除这个数字,代码之间成为:
code code code
code code code
code code code
code code code
code code code
我试过:
$a = preg_replace("/(s[0-9,]+s)/", "", $a);
但它不工作。
/(s[0-9,]+s
答
你忘了逃跑的'
$a = preg_replace("/(\s[0-9,]+\s)/", "", $a);
和昏迷9之后是没有必要的。
+0
然而,这种'\ S [0-9] + \ s'将开始删除换行符,并不会找到号码/字符串的结尾。事实上,这将会删除任何地方的数字,而不仅仅是数字字符串。 –
答
这将删除所有的数字:
$words = preg_replace('/[0-9]+/', '', $words);
答
去除数字仅线最好的办法是使用
'~^\d+$\R*~m'
图案的详细资料:
-
^
- 线的开始(因为 MULTILINE改性剂使^
到行的开始匹配,不字符串) -
\d+
- 1个或多个数字 -
$
- 线 的端
-
\R*
- 零或更多换行符(任何序列,如LF,CR,CR + LF)。
$str = "code code code\n7362\ncode code code\ncode code code\ncode code code\n63\ncode code code\n...";
$result = preg_replace('~^\d+$\R*~m', '', $str);
echo $result;
+0
如果您有任何其他与当前问题相关的问题,请随时放下评论。 –
答
我想这它为我工作。
/[1-9][0-9]*/g
http://*.com/a/14236162/3164682 – Sarath