Php 正则表达式删除换行符之间的数字

Php 正则表达式删除换行符之间的数字,php,regex,Php,Regex,我有一个巨大的代码,在一些行之间有数字: 例如: 我要删除此数字,代码之间要变成: 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点后昏迷是不必要

我有一个巨大的代码,在一些行之间有数字: 例如:

我要删除此数字,代码之间要变成:

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点后昏迷是不必要的。

你忘了逃出's'

$a = preg_replace("/(\s[0-9,]+\s)/", "", $a);

9后昏迷是不必要的。

这将删除所有数字:

$words = preg_replace('/[0-9]+/', '', $words);

这将删除所有数字:

$words = preg_replace('/[0-9]+/', '', $words);

删除纯数字行的最佳方法是使用

'~^\d+$\R*~m'

图案细节

  • ^
    -行的开头(因为
    ~m
    多行修饰符使
    ^
    与行的开头匹配,而不是与字符串匹配)
  • \d+
    -1个或多个数字
  • $
    -行末
  • \R*
    -零个或多个换行符(任何序列,如LF、CR、CR+LF)
:


删除纯数字行的最佳方法是使用

'~^\d+$\R*~m'

图案细节

  • ^
    -行的开头(因为
    ~m
    多行修饰符使
    ^
    与行的开头匹配,而不是与字符串匹配)
  • \d+
    -1个或多个数字
  • $
    -行末
  • \R*
    -零个或多个换行符(任何序列,如LF、CR、CR+LF)
:


我试过这个,它对我有用

/[1-9][0-9]*/g

我试过这个,它对我有用

/[1-9][0-9]*/g

但是,此
\s[0-9,]+\s
将删除换行符,并且在字符串的开始/结束处找不到数字。实际上,这将删除任何位置的数字,而不仅仅是数字字符串。但是,此
\s[0-9,]+\s
将删除换行符,并且在字符串的开始/结束处找不到数字。实际上,这将删除任何位置的数字,而不仅仅是数字字符串。如果您有任何与当前问题相关的其他问题,请随时发表评论。如果您有任何与当前问题相关的其他问题,请随时发表评论。