Java регулярное выражение, чтобы получить номер детали - PullRequest
0 голосов
/ 18 апреля 2010

У меня есть HTML, из которого мне нужно извлечь номер детали, HTML выглядит так:

javascript:selectItem('ABC123          1', '.....

Мне нужно получить ABC123 из вышеперечисленного.

Мой фрагмент кода:

Patterp p = Pattern.Compile("?????");
Matcher m = p.matcher(html);

if(m.find())
  partNumber = m.group(1).trim();

Кстати, в шаблоне, как мне выбраться для персонажа (

Я сейчас кавычки делаю \"

Спасибо, спасибо!

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Вы избегаете (, поставив \ перед ним. Поскольку он находится в String, вам нужно экранировать \, поэтому последовательность равна \\(. Это должно разобрать этот фрагмент:

Pattern p = Pattern.compile("javascript:selectItem\\('(\\w+)");
Matcher m = p.matcher(html);
if (m.find()) {
  String partNumber = m.group(1);
}

Я предположил, что номер детали - это один или несколько символов слова (что означает цифры, буквы или подчеркивание).

0 голосов
/ 18 апреля 2010

Вы можете использовать это:

Pattern regex = Pattern.compile("(?<=selectItem\\(')\\S*",Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
    ResultString = regexMatcher.group(1);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...