正则表达式 - 匹配所有数字直到字符


Regex - Match all numbers until character

假设我有一个这样的字符串

1234hello567u8 915 kl15

我想匹配所有数字直到第一个空格(所以,12345678

我知道我可以使用这个:[^'s]*匹配所有内容,直到第一个空格。但是如何

如何使用[^'s]*仅匹配号码?

在 PHP 中你可以使用这个:

$re = '/'h.*|'D+/'; 
$str = "1234hello567u8 915 kl15"; 
$result = preg_replace($re, '', $str);
//=> 12345678 

正则表达式演示

正则表达式是关于匹配模式的,但似乎你并不确切知道文本的模式。

我建议你喜欢这个

  1. 将所有 [a-z] 替换为 ",方法是使用

    正则表达式:"s/[a-z]//g"

    输出:"12345678 915 15"

  2. 捕获您想要的文本,

    正则表达式:"(^'d+)"

    输出:"12345678"

无法捕获跳过单个组中其他输入的输入。

在您使用的任何工具中,请进行此替换:

Search: 'D| .*
Replace: <blank>

搜索正则表达式匹配非数字或空格(包括空格)后的所有内容。