我试图在Java字符串中的href标记之间提取数据.我可以通过替换all和substring以及使用indexOf等来实现这一点.
我想知道如何使用正则表达式获取数据.
所以基本上我试图提取数据并存储在字符串或列表中.
String data ="12345";
String sampleStr ="";
for(int i=0; i<10; i++) {
data+=i;
sampleStr += "<a href=\"javascript:yyy_getDetail(\'"+data+"\')\">"+data+"</a>"+", ";
}
System.out.println(sampleStr);
String temp = sampleStr.substring(sampleStr.indexOf("\">")+2);
Run Code Online (Sandbox Code Playgroud)
任何有关的建议将不胜感激.什么应该是正则表达式,所以我只提取数据.
这是满足您需求的示例。请注意,完整匹配将包含带有锚标记的字符串,并且您搜索的内容位于group 1.
String data ="12345";
String sampleStr ="";
for(int i=0; i<10; i++)
{
data+=i;
sampleStr += "<a href=\"javascript:yyy_getDetail(\'"+data+"\')\">"+data+"</a>"+", ";
}
Pattern pattern = Pattern.compile("<a[^>]*>(.*?)</a>");
Matcher matcher = pattern.matcher(sampleStr );
while (matcher.find())
{
System.out.println("Result "+ matcher.group(1));
}
Run Code Online (Sandbox Code Playgroud)