Что нового

Проверка строки на соответствие шаблону с помощью StringRegExp

vovsla

Осваивающий
Сообщения
605
Репутация
35
Строка должна соответствовать шаблону - любое кол-во букв, запятая, пробел, любое кол-во букв
Проверяю с помощью строки указанной ниже
Код:
StringRegExp('string', '[a-zA-Z]\, [a-zA-Z]')


А как проверить что среди всех букв нет кириллицы?
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Vovsla, если я вас правильно понял, то вы хотите проверить, что в строке содержится только два слова из латинских букв. Если так, то вам нужен такой код
Код:
$string = 'asd, dsa'
ConsoleWrite(StringRegExp($string, '^[a-zA-Z]+?, [a-zA-Z]+?$') & @LF)

То, что написано у вас проверяет, что есть латинская буква, за которой следует запятая (обратный слеш перед запятой не нужен),
за которой следует пробел и снова латинская буква.
 
Автор
V

vovsla

Осваивающий
Сообщения
605
Репутация
35
alex33 сказал(а):
Vovsla [?]
А как проверить что среди всех букв нет кириллицы?
Код:
'[^а-яА-ЯёЁ]'

А как это добавить к уже существующему выражению?
Вот такой вариант не работает
Код:
StringRegExp('string', '[a-zA-Z^а-яА-ЯёЁ]\, [a-zA-Z^а-яА-ЯёЁ]')



Добавлено:
Сообщение автоматически объединено:

edyapd сказал(а):
Vovsla, если я вас правильно понял, то вы хотите проверить, что в строке содержится только два слова из латинских букв. Если так, то вам нужен такой код
Код:
$string = 'asd, dsa'
ConsoleWrite(StringRegExp($string, '^[a-zA-Z]+?, [a-zA-Z]+?$') & @LF)

То, что написано у вас проверяет, что есть латинская буква, за которой следует запятая (обратный слеш перед запятой не нужен),
за которой следует пробел и снова латинская буква.

Точно, это я упустил. Спасибо


Добавлено:
Сообщение автоматически объединено:

Кстати, такая конструкция '^[a-zA-Z]+?, [a-zA-Z]+?$' исключает кирилтлицу
 
Верх