java 如何使用正则表达式显示匹配到的字符

我要的是匹配到的字符,而不是去替换它,我希望把它存起来,以备后面的使用

比如serfwrf1231234dfsf2445,我想要匹配数字,怎么把数字串提取出来,并能够显示,保存
用group就行,但是现在我想 将每个连续的数字串分别保存,请问如何做?
最新回答
有你在便心安

2024-07-27 00:49:46

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo6 {
public static void main(String[] args) {
List<String> match = match("serfwrf1231234dfsf2445");
System.out.println(match);
}

public static List<String> match(String source) {
List<String> result = new ArrayList<String>();
String reg = "\\d*[^\\D*]";
Matcher m = Pattern.compile(reg).matcher(source);
while (m.find()) {
String r = m.group(0);
result.add(r);
}
return result;
}
}

七落海屿

2024-07-27 01:01:12

(\d+)


import java.util.regex.*;


// 表达式对象

Pattern p = Pattern.compile("(\\d+)");


// 创建 Matcher 对象

Matcher m = p.matcher("serfwrf1231234dfsf2445");


// 是否找到匹配

boolean found = m.find();


if( found )

{

    String foundstring = m.group();

    int    beginPos    = m.start();

    int    endPos      = m.end();

}

一丁温暖

2024-07-27 00:24:29

String str = "serfwrf1231234dfsf2445";
String regex = "\\d*";
Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);

while (m.find()) {
if (!"".equals(m.group()))
System.out.println("come here:" + m.group());
}

打印结果:
come here:1231234
come here:2445
重拾记忆的爱

2024-07-27 01:53:26

你这个用正则貌似不能实现吧