2015-06-20 2 views
2

У меня есть а последовательность, как:Как RegEx - соответствует шаблону, но с исключением?

0-2014 
1-2014 
2-2014 
... 
11-2014 
12-2014 
0-2015 
0-2016 
0-2017 
... 

мне нужно соответствовать любому из них, но с исключением 0-2014

Теперь у меня есть только общий путь без исключения:

(([0-9]{1,2})-20([0-9]{2})) 

Итак, вопрос: есть можно исключить 0-2014 из соответствия? И как?

ответ

2

Вы можете использовать negative look ahead:

((?!0-2014)([0-9]{1,2})-20([0-9]{2})) 

DEMO

Кроме того, если вам не нужны внутренние группы, вы можете использовать не захват группирования для них:

((?!0-2014)(?:[0-9]{1,2})-20(?:[0-9]{2})) 
1

Вы можете используйте следующее:

(?!0-2014)(([0-9]{1,2})-20([0-9]{2})) 

См. DEMO

+0

Большое спасибо! Извините, но @ Kasra был на секунду быстрее. – FFire

+0

Рад помочь :) –

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