2017-02-03 2 views
9

Я определил регулярное выражение шестнадцатеричного значения длины 4 следующим образом:регулярного выражения для шестнадцатеричного

([0-9A-F]{4}) 

И это прекрасно работает и грамматический

0000 

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

0000 is flagged as invalid and filtered out. 

Благодаря

ответ

11

Вы могли бы использовать negative lookahead:

(?!0000)[0-9A-F]{4} 

Здесь (?!0000) отрицательная опережения группа. Это более или менее говорит: «И не допускайте, чтобы следующие элементы были 0000», но без , потребляющих их.

Вы можете проверить его на regex101.

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