2013-02-12 3 views
0

Я ищу однолинейное регулярное выражение, которое соответствует шаблону с необязательными круглыми скобками. Когда круглые скобки присутствуют, они не должны включаться в согласованный шаблон.Как регулярное выражение соответствует шаблону с дополнительными окружающими круглыми скобками?

Следующий полужирный текст показывает, что должно/не должно совпадать:

должен соответствовать:

"Название Описание (aaa123)"

«(ABC000) Название Описание "

" Название De scription DEF999 "

"Название - RST321 - Описание"

не должны совпадать:

"Название Описание ab123"

" Название Описание CCC456a "

"Название Описание (ABE999c)"

+0

Итак, что вы пробовали? –

+1

@Rohit Jain Вместо того, чтобы сделать это хорошим редактированием. Вы испортили это. –

+0

@RohitJain: Пробовал это «()? ([A-zA-Z] {3} [0-9] {3})()?" но он соответствует символу конца, независимо от того, находится ли его скобка или нет. –

ответ

3

Попробуйте это регулярное выражение:

\b[a-zA-Z]{3}\d{3}\b 

Это соответствует:

# \b   - A word boundary, 
# [a-zA-Z]{3} - followed by 3 letters, 
# \d{3}  - followed by 3 digits, 
# \b   - followed by a word boundary. 

Регулярное выражение не заботится о скобках, как просили, но Безразлично 't строки слишком длинны.

+1

Вы также встретите '___ 345' и' 234456' – nhahtdh

+0

@nhahtdh: Упс, я не думал о '\ w', также соответствующем этим. Отредактировано, спасибо! – Cerbrus

+0

@Cerbrus: Отлично, \ b был недостающим ключом для меня. Я не знал, как совместить либо пустое пространство, либо скобку одновременно. Благодарю. –

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