Я хочу закодировать регулярное выражение для соответствия буквенно-цифровым строкам со следующими ограничениями:
Возможное решение:
^ # anchor at the start
(?=.*\d) # must contain at least one numeric character
(?!.*(?:JANVIER|F[Eé]VRIER|MARS|AVRIL|MAI|JUIN|JUILLET|AO[Uù]T|SEPTEMBRE|OCTOBRE|NOVEMBRE|D[Eé]CEMBRE|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))#Does not contain any month name
(\w) # Any Character
(?=.*[a-z]) # must contain one lowercase character
(?=.*[A-Z]) # must contain one uppercase character
.{8,90} # From 8 to 10 characters in length
$ # anchor at the end"
regex
отлично, когда вы хотите извлечь некоторые данные. Здесь вы просто хотите проверить разные характеристики. ИМХО, вы должны действовать следующим образом:
regex
)Каждая функция может быть проверена независимыми регулярными выражениями. Вы можете написать все из них, а затем объединить их в один, который выполняет логическое И при поиске.
Взгляните на главный ответ этой темы: Combine Regexp