RegEx的格式如下

时间:2012-10-08 22:24:29

标签: regex

"    Device ID                     : 01"

只获得数字的正则表达式是什么?

我试过了:

m/^\s*Device ID\s*^:\s*/

但它没有给我这个号码。

有人可以建议我该怎么做吗?

5 个答案:

答案 0 :(得分:2)

如果该格式保持一致,您只需: String text = " Devlop ID : 01"; String num = text.split(": ")[1]; 处的字符串,然后取结果的第二个元素。

这是Java中的一个示例(您没有指定语言):

parseInt

如果您需要对num变量执行任何数学运算(如果您需要它的实际数值),可以使用{{1}}。

答案 1 :(得分:1)

不是试图匹配整个字符串,只是查找冒号,然后从那里返回到字符串的末尾?您可以在此示例中将其作为命名组执行此操作:

/:\s*(?<num>[0-9]*)$/

(正则表达式在http://regexhero.net/tester/测试)

答案 2 :(得分:1)

您的字符串中似乎没有其他数字。 IFF这是默认情况,为什么不搜索这个数字?

(\d+)

答案 3 :(得分:0)

类似的东西:

^\s*Device ID\s*:\s*(\d+)\s*$

答案 4 :(得分:0)

您可以使用分组来“捕捉”这个数字:

(.*)(\d\d)(\.*)?\1

或者如果您不知道将构成数字的位数:

(.*)(\d+)(\.*)?\1

您可以看到它是如何运作的here