регулярное выражение для иранского ID серийный номер - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно выражение регулярного выражения для соответствия серийному номеру иранского идентификатора (سریال شماره شناسنامه), первым символом которого является нелатинская буква в диапазоне ب-ی или одно нелатинское слово الف.

Тексты, которые нам нужно проверить, должны иметь формат:

الف/12 123456
ب/25 123456
ج/11 123456

ps: выражения начинаются с буквы.(StackOverflow не поддерживает RTL)

Моя попытка пока:

(\bالف\b|[ب-ی]{1})[\/][0-9]{2}\s{1}[0-9]{6} 

https://regex101.com/r/FsZFN5/1

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Вот мое решение для нелатинского серийного номера для иранцев ID:

([\u0627][\u0644][\u0641]|[\u0628-\u06CC])[\/][0-9]{2}\s{1}[0-9]{6}

https://regex101.com/r/FsZFN5/2

0 голосов
/ 25 февраля 2019

Персидские символы находятся в блоке арабского Unicode, который варьируется от U + 0600 до U + 06FF (который указан в классе символов как \ u0600- \ u06FF).

для английской буквы ниже Regex совпадает:

/[0-9]{6}\s[0-9]{2}\/[a-z]{1}/

и для поддержки персидской буквы, только замените a-z на \u0600-\u06FF:

/[0-9]{6}\s[0-9]{2}\/[\u0600-\u06FF]{1}/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...