Мне нужно написать Regx для проверки текстового поля, которое начинается с «iqn.yyyy-mm.com». или 'экв.' - PullRequest
0 голосов
/ 29 мая 2019

Мне нужно написать Regx для проверки текстового поля, которое начинается с «iqn.yyyy-mm.com». или 'экв.' После этого допускается любое количество символов или числовых значений. Здесь «гггг-мм» - это год и месяц.

Ответы [ 3 ]

0 голосов
/ 29 мая 2019

Если вы имеете в виду «либо» iqn.yyyy-mm.com. или 'экв.' ":

pattern = new RegExp('/^(iqn\.\d{4}-\d{2}\.com\.)|(eqn\.)$/');

var str = 'iqn.2019-05.com.';
pattern.test(str); // -> true

var str = 'eqn';
pattern.test(str); // -> true

var str = 'anything else';
pattern.test(str); // -> false

или, если вы имеете в виду "либо" iqn.yyyy-mm.com. " или 'eqn.yyyy-mm.com.' ":

pattern = new RegExp('/^[ie]qn\.\d{4}-\d{2}\.com\.$/');

var str = 'iqn.2019-05.com.';
pattern.test(str); // -> true

var str = 'eqn.2019-05.com.';
pattern.test(str); // -> true

var str = 'anything else';
pattern.test(str); // -> false
0 голосов
/ 29 мая 2019

Я думаю, что это должно работать:

^[ie]qn\.(?:\d{4}-\d{2}\.\w{2,6})?\.?.+$

Regex101 Ссылка здесь: Ссылка здесь

0 голосов
/ 29 мая 2019

Если мы только проверяем год и месяц и до и после, символы в порядке, то это выражение может работать:

.+\.[\d]{4}-[\d]{2}\..+

Если мы хотим добавить больше ограничений, мы, безусловно, можем сделать это, изменивэти два .+ в начале и конце строки.Мы также можем добавить начальные и конечные символы, если это необходимо.

const regex = /.+\.[\d]{4}-[\d]{2}\..+/gm;
const str = `iqn.2019-10.com
eqn.2019-10.com
eqn.209-10.com`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

DEMO

RegEx

Если это выражение не требуется, его можно изменить или изменить в regex101.com .

Схема RegEx

jex.im визуализирует регулярные выражения:

enter image description here

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