.net regular expressions help needed
От: AlSer Беларусь  
Дата: 18.03.10 12:24
Оценка:
Подскажите, плз, как извлечь элементы вида: XX-12/78 YY-/89 ZZ-//99
из, например, следующего текста:
...
sdfaasdflj asdfjl;a 
AB-12/34 BC-/85 CD-//8 DD-77
DE-78/9
EE-78-98
asdf; asdjf
...

т.е. из него нужно извлечь элементы: AB-12/34, BC-/85, CD-//8, DD-77, DE-78/9
(но не EE-78-98).
Я использую следующее выражение:
\s*(?<elements>\b..-[/0-9]*\b)

(\s* — вначале могут быть пробелы или табуляция)
Возникают следующие проблемы:
1) помимо AB-12/34, BC-/85, CD-//8, DD-77, DE-78/9 в результатах появляется и EE-78
2) (и самая главная) вышеприведенное регулярное выражение является частью другого гораздно большего выражения, т.е. например из вышеприведенного текста
я пытаюсь извлечь с помощью выражения:
(?s).*\sas.*?                                            # - извлечение других элементов (as, напр.)
\s*(?<elements>\b..-[/0-9]*\b)*.*
.*as                                                            # - извлечение других элементов (as, напр.)

в результате получаю только: AB-12/34 и больше ничего.
Как исправить выражение, чтобы этих проблем не было?
Помогите, плз, пробую разные варианты, но что-то не выходит ни фига.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.