RegEx for metric in metric system

5 regex distance

我希望RegEx在公制系统中匹配距离值.此正则表达式应该匹配12m,100cm,1km忽略空白

Gum*_*mbo 12

试试这个:

(?:0|[1-9]\d*)\s*(?:da|[yzafpn?mcdhkMGTPEZY])?m
Run Code Online (Sandbox Code Playgroud)


Nic*_*sen 7

并将保罗的答案扩展到包括小数位值......

(\d+).?(\d*)\s*(m|cm|km)
Run Code Online (Sandbox Code Playgroud)


Pau*_*xon 5

由于您没有准确指定您想要的内容,因此我使用您的示例来得出您想要找到一个整数值,后跟可选的空格,后跟 cm、m 或 km 的单位说明符。所以 - 这是最简单的例子。

/(\d+)\s*(m|cm|km)/
Run Code Online (Sandbox Code Playgroud)

第一个括号捕获数字,然后它会跳过 0 个空格字符,然后在第二组括号中捕获所需的单位。

正如您在其他答案中所看到的,您可以超越此范围来获取十进制值,并且还可以捕获更多数量的 SI 单位前缀。