我需要一些帮助,因为我是初级Java,经过一些网络研究 我无法找到解决方案。 所以我的问题是:
String str : size="A4"
我想提取A4'用正则表达式给出" size"在正则表达式。 我能怎么做 ?
答案 0 :(得分:1)
java.util.regex.Pattern
。 java.util.regex.Matcher
Matcher.group(group)
)
//1. create Pattern
Pattern p = Pattern.compile("size=\\\"([A-Za-z0-9]{2})\\\"");
//2. generate Matcher
Matcher m = p.matcher(myString);
//3. find value using groups(int)
if(m.find()) {
System.out.println( m.group(1) );
}
答案 1 :(得分:1)
import java.util.*;
import java.util.regex.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Matcher m=Pattern.compile("size\\s*=\\s*\"([^\"]*)\"").matcher("size=\"A4\"");
while(m.find())
System.out.println(m.group(1));
}
}
输出:
A4
正则表达式细分:
size\\s*=\\s*\"([^\"]*)\"
size
字面上匹配size
\\s*=\\s*
匹配0个或更多前导或尾随的空格
=
签署\"
匹配双引号([^\"]*)
匹配0个或更多字符(不是双引号)
[^\"]
)并记住捕获的文本作为反向引用1,即
除了在while循环中使用下面捕获的组号1之外什么都没有。\"
我们匹配结束双引号您可以在regex here
上找到更多信息