I have HTML that I need to extract a part number from, the HTML looks like:
javascript:selectItem('ABC123 1', '.....
I need to get the ABC123 from the above.
My code 开发者_运维知识库snippet:
Patterp p = Pattern.Compile("?????");
Matcher m = p.matcher(html);
if(m.find())
partNumber = m.group(1).trim();
BTW, in the pattern, how do I escape for the character (
I now for quotes I do \"
thanks allot!
You escape ( by putting a \ before it. Because it's in a String, you need to escape the \ so the sequence is \\(. This should parse that snippet:
Pattern p = Pattern.compile("javascript:selectItem\\('(\\w+)");
Matcher m = p.matcher(html);
if (m.find()) {
String partNumber = m.group(1);
}
I've assumed the part number is one or more word characters (meaning digits, letters or underscore).
You could use this:
Pattern regex = Pattern.compile("(?<=selectItem\\(')\\S*",Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
ResultString = regexMatcher.group(1);
}
加载中,请稍侯......
精彩评论