2013-08-12 2 views
2

У меня есть следующий регулярное выражениеИсключить значение группы регулярных выражений

\w*\|(?<PORT>\w*)\|(?<NAME>\w*)\| 

Я хотел бы получить какой-либо матч за исключением случаев, PORT равна 220

Например:

0|220|Camry| - матч должен быть исключен

0|112|Polo| - это нормально для соответствия

ответ

4

Использование отрицательного обзора:

\w*\|(?!220\|)(?<PORT>\w*)\|(?<NAME>\w*)\| 
    ^^^^^^^^^ 
+0

Это не подходит к тому, что я ожидал. Это регулярное выражение, но с пустой группой PORT. Я бы полностью исключил совпадение – Polaris

+0

У вас есть дополнительный '(' в вашем регулярном выражении, он должен быть: '\ w * \ | (?! 220 \ |) (? \ w *) \ | (? \ w *) \ | '. –

+0

@Polaris, это работает так, как ожидалось. –

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