RegEx для соответствия шаблонам номеров автомобилей Saudia (KSA) - PullRequest
0 голосов
/ 06 февраля 2019

Может ли кто-нибудь помочь мне с регулярным выражением для Саудовской Аравии (KSA) Регистрационные номера транспортных средств В основном я не могу написать регулярное выражение для латинского алфавита, так как он принимает только 17 арабских букв, как следует с их следующим переводом на английский

ا |  A  
ب |  B  
ح |  J  
د |  D  
ر |  R  
س |  S  
ص |  X  
ط |  T  
ع |  E  
ق |  G  
ك |  K  
ل |  L  
م |  Z  
ن |  N  
هـ |     H  
و |  U  
ى |  V 

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

Шаблон номера автомобиля Saudia (KSA) состоит из трех букв и до четырех чисел

This is the sample car license number plate

Ответы [ 3 ]

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

Если вы ищете то, что, как мне кажется, вы ищете, он будет принимать до 4 чисел, но не будет сочетать оба типа символов в пределах числа или блоков символов (хотя пользователь может использовать арабские числа и саудовскиесимволы или саудовские цифры и латинские буквы).

^[\u0660-\u0669|\d]{1,4}[\u0621-\u064A|\w]{3}

Допустимые записи:

٢٤٧٩sdf
1334aif
1234حكهـ
حكهـ٢٤٧٩
123abc
12abc
1abc

Недопустимые записи:

٢1٧2 sكf
alfksjdd
12347844

Обратите внимание, что символ конца строки ($) опущено, поскольку это противоречит направленности арабского языка.Символ начала строки в порядке и необходим для предотвращения более длинных, недопустимых записей, содержащих шаблон.

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

В соответствии с данным примером изображения и

Шаблон номера автомобиля Saudia (KSA) содержит три буквы и до четырех чисел

Вы можете сделать это просто, например, так::

\d{1,4}[A-Z]{3}

Объяснение:

\d{1,4} -> означает от 1 до 4 цифр

[A-Z]{3} -> означает 3 заглавные буквы

Но если вам нужно также включить арабские буквы, то вам следует использовать их специфичные для Unicode кодовые точки, которые вы можете найти здесь Unicode для арабских букв .

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

Но теоретически это будет примерно так:

\d{1,4}[A-Z\x{0600}-\x{06FF}]{3}

Объяснение:

\d{1,4} -> означает от 1 до 4 цифр

[A-Z\x{0600}-\x{06FF}]{3} -> означает 3 символа Unicode с кодом от 0600 до 06FF (согласно прилагаемой таблице)

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

Вот пример, который ограничивает вас буквами A, B и C. Вы можете заменить определенным списком букв:

\d{4}[ABCD]{3}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...