2012-05-20 2 views
0

Вот пример, я использую:Как использовать аргумент Pattern.compile?

Pattern p = Pattern.compile(".*<img[^>]*src=\"([^\"]*)", Pattern.CASE_INSENSITIVE); 
Matcher m = p.matcher("<img src=\"aoeuaoeu\"/>"); 
m.find(); 
System.out.println(m.group(1)); 

Так выход этого кода: aoeuaoeu.

Что мне нужно, чтобы положить в круглые скобки, чтобы найти что-то в тексте, например, в примере?

+2

Обратите внимание, что в данном примере использования пример regex является неправильным инструментом для задания. HTML не является обычным языком. Просто используйте парсер HTML, такой как [Jsoup] (http://jsoup.org). – BalusC

ответ

4

Первый параметр шаблона - regular expression. Он должен соответствовать языку регулярных выражений, широко используемому способу описания таких шаблонов.

Хотя мелкие детали регулярных выражений очень важны для понимания и часто являются субъектами длительных курсов в колледже, вы можете изучить основы, выполнив простой учебник [link], следуя многочисленным примерам и пробовав свою руку при написании регулярных выражений для ваших конкретных целей.

Существует множество реализаций двигателей регулярных выражений с различными возможностями. Чтобы узнать подробности о «диалекте» регулярных выражений Java, следуйте the documentation of the Pattern class.

+0

Вы писали: Первый параметр шаблона ... должен соответствовать ** ** регулярному языку выражения. Должен ли это быть ** язык регулярных выражений ** (синтаксис), приемлемый для Java? –

+0

@MiserableVariable Язык регулярных выражений Java является одним из многих диалектов языка регулярных выражений, так что да, ваше утверждение более конкретное. Вы можете редактировать ответы для ясности и т. Д., Ваш уровень репутации позволяет вам это сделать. – dasblinkenlight

+0

Итак, первый параметр является регулярным выражением! Спасибо, я знаю о регулярном выражении. Поэтому с документацией я попытаюсь реализовать это в своем коде. Спасибо всем за вашу помощь. – JoseLion

Смежные вопросы