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

时间:2016-08-24 07:32:12

标签: php regex

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

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

4 个答案:

答案 0 :(得分:1)

你忘了逃避'

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
        Intent i = new Intent(this, ActivitySetupMenu.class);
        startActivity(i);
        return true;
    }

    return super.dispatchKeyEvent(event);
}

9之后的昏迷不是必需的。

答案 1 :(得分:1)

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

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

请参阅regex demo

模式详情

  • ^ - 行的开头(因为~m MULTILINE修饰符使^匹配行的开头,而不是字符串)
  • \d+ - 一位或多位
  • $ - 行尾
  • \R* - 零个或多个换行符(LF,CR,CR + LF等任何序列)。

PHP demo

$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;

答案 2 :(得分:0)

这将删除所有数字:

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

答案 3 :(得分:0)

我试过这个为我工作。

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