Я ищу регулярное выражение для совершенно другого условия. Мое выражение требует-
- Общая длина должна составлять 6, 7 или 8 символов.
- должен быть включен пробел (пробел).
- Внутренний код, часть справа от пробела, всегда должен состоять из 3 символов.
- Первый символ входящего кода должен быть числовым.
- Второй и третий символы внутреннего кода должны быть альфа-буквами.
- Внешний код, часть слева от пробела, может состоять из 2, 3 или 4 символов.
- Первый символ внешнего кода должен быть альфа-каналом.
Мне нужно, чтобы выражение было таким - BH6 5BG или b6 7ba или CH11 2ab
Алфавиты могут быть в нижнем или верхнем регистре, и первым символом должен быть алфавит, а после пробела разрешены три символа, в которых первым должен быть номер.
Я сделал регулярное выражение, которое включает только первое условие - ^(\d{6}|\d{7}|\d{8})$
Я очень запутался в регулярном выражении. Может ли кто-нибудь помочь мне в создании регулярного выражения для вышеуказанных условий?
3 ответа
Следующее выражение регулярного выражения должно работать:
^[A-Za-z][A-Za-z\d]{1,3}\s\d[A-Za-z]{2}$
Я бы использовал это:
/^[a-z].{1,3}\s\d[a-z]{2}$/i
Сломать:
^ #start of line
[a-z] #alpa
.{1,3} #from 1 to 3 of any char
\s #a whitespace char
\d #a digit
[a-z]{2} #2 of any aplha
$ #end of line
i #case insensitive
^(?i)[a-z][a-z0-9]{1,3}\\s[0-9][a-z]{2}$
(?i)
-> Как алфавиты могут быть в нижнем или верхнем регистре.
\\s
-> Ровно для одного пробела / пробела.
* Проверял на Java.
Похожие вопросы
Новые вопросы
regex
Регулярные выражения предоставляют декларативный язык для сопоставления шаблонов в строках. Они обычно используются для проверки строк, разбора и преобразования. Укажите язык (PHP, Python и т. д.) или инструмент (grep, VS Code, Google Analytics и т. д.), который вы используете. Не размещайте вопросы, требующие объяснения того, что означает символ или чему будет соответствовать конкретное регулярное выражение.