1

我对正则表达式很陌生,我尝试使用正则表达式在 XYZ 之后从X130503XYZ662050,89中提取 662050,89 ,我尝试并编写了 .

 [a-zA-Z](\d+|,\d)

我只能得到 662050。如何在正则表达式中得到 662050,89?先感谢您

请注意,XYZ 可以是任何字母,也可以是任何时间线 XYZ , XXYYZ 等

4

5 回答 5

3

正则表达式可以更简单

XYZ(.*)

如果 XYZ 可以是数字以外的任何东西,请使用\D令牌

\D{3}(.*)
于 2013-07-03T08:43:47.997 回答
2

您可以尝试使用此 reg exp (\d+,\d+)。如果 XY 和 Z 之前没有浮点数,它会正常工作。希望这会有所帮助。

编辑: 请记住,浮点数必须在 Z 之后。否则您可能需要使用 [\d+,]*($|\z)

于 2013-07-03T08:48:04.820 回答
2

您可以尝试从输入/单词(JavaScript)的末尾进行匹配:

[0-9,]*(?:$|\z)
于 2013-07-03T08:50:21.700 回答
1

试试这个正则表达式...

/\w([\d\,]+)/
于 2013-07-03T11:50:14.957 回答
1

如果您使用此 XYZ(.*),请选择 662050,89 的第 1 组比赛

或者,如果您使用此 ([a-zA-Z]+)(\d+[|,]\d+),则将比赛的第 2 组选为 662050,89。

在第一种情况下,您只关心 'XYY' 之后的数字,在第二种情况下,您同时关心 'XYZ' 和它之后的数字。

于 2013-07-03T08:48:59.590 回答