我的文字如“这是13221项中的145项”。我需要一次获取所有文本的数字(“145和13221”)。我想用正则表达式来做这件事。什么是正则表达式? “\ d +”不能正常工作。
答案 0 :(得分:3)
\d+
运行正常。根据语言的不同,您可能必须将斜杠转义为"\\d+"
,例如在Java。
String text = "It's the 145 of 13221 items";
Matcher m = Pattern.compile("\\d+").matcher(text);
while (m.find()) {
System.out.println(m.group());
}
// prints "145", "13221"
您需要弄清楚如何在您的语言的字符串中查找正则表达式匹配,但模式\d+
将匹配连续数字的非零序列。
在Javascript中,您可以执行以下操作:
function findDigitSequences(s) {
var re = new RegExp("\\d+", "g");
return s.match(re);
}
答案 1 :(得分:2)
您需要使用^[^\d]*(\d+)[^\d]*(\d+)[^\d]*$
之类的内容。取决于你正在使用什么样的正则表达式。
此正则表达式匹配:
答案 2 :(得分:0)
^[\D\w]+([\d]+)[\D\w]+([\d]+).+$
捕获群组:
抱歉,当我写下
时,我的大脑已经关闭了