Regex для запятых 3 буквы - PullRequest
       0

Regex для запятых 3 буквы

0 голосов
/ 22 января 2019

Я хочу создать регулярное выражение только для ровно 3 букв, разделенных запятыми.Трехбуквенные слова могут быть дополнены пробелами (не более 1 на каждой стороне)но не смог заставить его работать.

^(?:[A-Z ]+,)*[A-Z ]{3} +$ 

Ответы [ 3 ]

0 голосов
/ 22 января 2019

Попробуйте это: ^([ ]?[A-Z]{3}[ ]?,)*([ ]?[A-Z]{3}[ ]?)+$

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

Соответствует как минимум одному трехбуквенному слову (с пробелами), которому предшествует любое количество слов, трехбуквенное слово с запятыми после них.

0 голосов
/ 22 января 2019

Вы можете сделать это с помощью шаблона: ^((:? ?[A-Z]{3} ?,)*(?: ?[A-Z]{3} ?))+$

var str = `ORD
JFK, LAX
ABC,DEF, GHK,REW, ASD

ORDA
OR
ORD,
JFK, LA`;

let result =  str.match(/^((:? ?[A-Z]{3} ?,)*(?: ?[A-Z]{3} ?))+$/gm);
document.getElementById('match').innerHTML = result.join('<br>');
<p id="match"></p>
0 голосов
/ 22 января 2019

Попробуйте этот шаблон:

^[A-Z]{3}(?:[ ]?,[ ]?[A-Z]{3})*$

Этот шаблон соответствует начальному трехбуквенному слову, за которым следуют еще два термина, разделенных запятой с необязательными пробелами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...