Java 使用正则表达式查找在文本中处理的字符串列表
我陷入了这种境地Java 使用正则表达式查找在文本中处理的字符串列表,java,regex,Java,Regex,我陷入了这种境地 public void findListOfPattern(){ String text = "abce1213abcd231asdf"; String find = "1213|231|1232"; Pattern part = Pattern.compile(find); Matcher mat = part.matcher(text); System.out.println(mat.find()); //Tr
public void findListOfPattern(){
String text = "abce1213abcd231asdf";
String find = "1213|231|1232";
Pattern part = Pattern.compile(find);
Matcher mat = part.matcher(text);
System.out.println(mat.find()); //True
}
如果findget中的任何字符串匹配,则能够获得真实结果。
我想要文本中的匹配器列表。
这里的文本可以较大,查找字符串的数量也可以较多。
在find中:12132311232是分开的
结果应该是:-1213231您需要调用
mat.group()
以返回所需的匹配
通常,您会循环直到mat.find()
返回true
,然后通过调用mat.group()
连续打印所有匹配项
然后,您可以通过连接mat.group()
的结果(如使用StringBuilder
)来生成预期结果String
注释
- API
- 您需要调用
,以便Matcher#find
生成任何结果,而不是抛出Matcher#group
IllegalStateException
- 您的
只有默认组。如果使用括号或命名组(来自Java7),还可以调用重载或模式
mat.group()
以返回所需的匹配
通常,您会循环直到mat.find()
返回true
,然后通过调用mat.group()
连续打印所有匹配项
然后,您可以通过连接mat.group()
的结果(如使用StringBuilder
)来生成预期结果String
注释
- API
- 您需要调用
,以便Matcher#find
生成任何结果,而不是抛出Matcher#group
IllegalStateException
- 您的
只有默认组。如果使用括号或命名组(来自Java7),还可以调用重载或模式