1

我面临从输入字符串中提取特定数值的问题。

说,我有一个字符串“this23 is 67 test 56 string 45”,我必须从字符串中获取数字 67,那么如何使用正则表达式提取它?

我只需要使用正则表达式。

你有什么想法吗?

提前致谢,

4

3 回答 3

1

[^\d]*[\d]+[^\d]+([\d]+)

第一个块是 0 个或多个非数字,然后是 1 个或多个数字,然后是 1 个或多个非数字,然后是 1 个或多个数字。在括号中,以便您可以使用您使用的任何语言捕获它。

于 2012-05-11T03:23:11.980 回答
0

试试这个:

^\D*\d+\D+(\d+)

我使用 Rubular 对此进行了测试-> 67 在第一组中。

可以使用后向命令 (?<=expression) 编写正则表达式,但不能在内部使用 * 或 +(至少在 Ruby 和 Perl 中是不可能的)。

于 2012-05-11T03:27:47.527 回答
0
  • 忽略任何非数字
  • 忽略任何数字(第一个数字)
  • 再次忽略任何非数字
  • 捕获第二个数字

[\D]*[\d]+[\D]+([\d]+)

于 2012-05-11T03:28:55.137 回答