2010-12-11 3 views
1

У меня есть следующие строки:соответствует строке символов между тегами:

<PAUL SAINT-KARL 1997-05-07> 
<BOB DEAN 2001-05-07> 
<GUY JEDDY 2007-05-07> 

Я хочу Java регулярное выражение, которое будет соответствовать этому типу рисунка «имя и дата», а затем извлечь имя и дату отдельно.

я смог сопоставить их отдельно с помощью следующей Java регулярного выражения:

1) (\d{4}-\d{2}-\d{2})> 

    2) <([ A-Z&#;0-9-]*+) 

Что я ищу это один регулярное выражение, которое будет определять полную картину текста, как это предусмотрено, а затем извлечь подразделы, такие как фактическое имя и дату.

Я ищу, чтобы использовать Matcher.group(), чтобы получить полное соответствие из целевой строки.

Благодаря

+0

Должен ли он работать только на RADIX-50 или на Unicode (собственный набор символов Java)? – tchrist

ответ

2

Попробуйте это:

"<([ A-Z&#;0-9-]*?) (\\d{4}-\\d{2}-\\d{2})>" 

Я изменил *+ к *? сделать * матч лениво.

+0

Да, я сделал, и почему-то это не похоже на шаблон. Однако их выполнение выполняется отдельно: Regex: (\ d {4} - \ d {2} - \ d {2}) > и захват текста с помощью заполнителя: \t <дата v = "$ 1" /> Regex : < ([A-Z & # 0-9 -] * +) и захват текста с помощью заполнителя: Brian

+0

Привет, Марк, это сработало. Спасибо большое. – Brian

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