我遇到了从输入字符串中提取特定数值的问题。
比如说,我有一个字符串"this23 是 67 测试 56 字符串 45",我必须从字符串中获取数字 67,那么我如何使用常规表达式提取它?
我只需要使用正则表达式。
你对此有什么想法吗?
提前感谢,
[^d]*[d]+[^d]+([d]+)
,后跟 1 个或多个数字。在括号中,以便您可以使用的任何语言捕获它。
- 忽略任何非数字
- 忽略任何数字(第一个数字)
- 再次忽略任何非数字
- 捕获第二个数字
[D]*[d]+[D]+([d]+)
试试这个:
^D*d+D+(d+)
我使用 Rubular 对此进行了测试——> 67 在第一组中。
可以使用后视命令(?<=expression)编写正则表达式,但不能在内部使用*或+(至少在Ruby和Perl中是不可能的)。