使用正则表达式在 Javascript 中提取值

dsa*_*ket 0 javascript regex

我有一个字符串形式:“xMyS”

我想使用 Javascript Regex 表达式提取 x 和 y。

例如,如果字符串是

10M225S
Run Code Online (Sandbox Code Playgroud)

我需要 10 和 225。

此外,字符串可能没有 x 或 y 部分。例如,它可以是 just225S或 just 10M

编辑:我尝试过类似的东西.match(),但不知道如何以上述格式提取值。

编辑:到目前为止我尝试过的正则表达式是/(\w+)M(\w+)S/,但它似乎只适用于10M225S而不适用于10M225S

小智 5

你可以这样做:

var str = "10M255S"
var match = str.match(/^([0-9]*)M*([0-9]*)S*$/)
Run Code Online (Sandbox Code Playgroud)

然后match[1]10并且match[2]255

如果var str = "10M", 那么match[1]10, 如果var str = "255S", 那么match[1]255

在这三种情况中的任何一种情况下,匹配都从数组的第二个元素开始match

希望这可以帮助。