homme.io
Clean.Precise.Quick.
..
PAX ROMANA
SAKURA
Фотография
Философия
Искусство
История
C/C++
DBMS
Oracle
Спорт
Linux
Lua
IT

Infinitum.Aeterna
2024.Китай
Иран в лицах
2023.Иран
2023.06.Москва
2023.Стамбул
2023.ЗИМА
2022.11.Турция
2022.ОСЕНЬ
2022.08.Зубовка
2022.07.Турция
2022.Раменское
2022.ЛЕТО
2022.Архангельское
2022.Парк 50-летия Октября
2022.Санкт-Петербург
2022.Ярославль
2022.03.Зубовка
2022.Кокошкино
2022.Сочи
2022.ВЕСНА
2022.02.Царицыно
2022.Стамбул
2022.02.Коломенское
2022.ЗИМА
2021.Зубовка
2021.ОСЕНЬ
2021.Египет
2021.Раменское
2021.ЛЕТО
2021.Дивеево
2021.Азов
2021.02.Зоопарк
2021.Карелия
2020.Санкт-Петербург
2020.Турция
2020.Аносино
2020.Азов
2020.Верея
2020.Арктика
2020.Греция
2019.Турция
2019.Зубовка
2019.Дагестан
2019.Дагестан+
2019.Египет
2019.Италия
2019.Куликово поле
2019.Калуга
2019.02.Танцы
2019.Байкал
2018.Переславль
2018.Плес
2018.Березка
2018.Крым
2018.Азов
2018.Калининград
2018.Санкт-Петербург
2018.Эльбрус
2017.Турция
2015.Египет
2013.Египет
2013.Рим
Разное

Lua Pattern matching

string.find(str, pattern [, init [, plain]]) -- Returns start and end index of match in str

string.match(str, pattern [, index]) -- Matches a pattern once (starting at index)

string.gmatch(str, pattern) -- Returns a function that iterates through all matches in str

string.gsub(str, pattern, repl [, n]) -- Replaces substrings (up to a max of n times)

. represents all characters

%a represents all letters

%l represents all lowercase letters

%u represents all uppercase letters

%d represents all digits

%x represents all hexadecimal digits

%s represents all whitespace characters

%p represents all punctuation characters

%g represents all printable characters except space

%c represents all control characters

[set] represents the class which is the union of all characters in set.

[^set] represents the complement of set

* greedy match 0 or more occurrences of previous character class

+ greedy match 1 or more occurrences of previous character class

- lazy match 0 or more occurrences of previous character class

? match exactly 0 or 1 occurrence of previous character class

Remarks
#

Throughout some examples, the notation ():function is used, which is equivalent to string.function(, ) because all strings have a metatable with the __index field set to the string table

=========================================

string.gsub - возвращает копию строки, в которой все вхождения 'шаблона поиска' заменяются на 'шаблон замены', который может быть строкой, таблицей или функцией. Также возвращает как второе значение – общее количество проведенных подстановок.
Если 'шаблон замены' строка, то используется ее значение для замены. Символ % работает как символ со специальным назначением: любая последовательность в 'шаблоне замены' в виде %n, где n от 1 до 9, заменяется на n-ную захваченную подстроку. Последовательность %0 заменяется на найденную подстроку.
Если 'шаблон замены' является таблицей, то она запрашивается для каждого сравнения, с использованием первого захваченного значения как ключ; если шаблон не содержит захватов, то используется результат простого сравнения как ключ.
Если 'шаблон замены' является функцией, то эта функция вызывается каждый раз, когда обнаруживается совпадение. В качестве параметров ей передаются все захваченные подстроки; если шаблон не содержит захватов, то передается результат сравнения как один параметр.

. -- Любой символ
%a -- Буква (только англ.!)
%A -- Любая буква (русская), символ, или цифра, кроме английской буквы
%c -- Управляющий символ
%d -- Цифра %D -- Любая буква, или символ, кроме цифры
%l -- Буква в нижней раскладке (только англ.!)
%L -- Любая буква, символ, или цифра, кроме английской буквы в нижней раскладке
%p -- Символ пунктуации
%P -- Любая буква, символ, или цифра, кроме символа пунктуации
%s -- Символ пробел
%S -- Любая буква, символ, или цифра, кроме символа пробела
%u -- Буква в верхней раскладке (только англ.!)
%U -- Любая буква, символ, или цифра, кроме английской буквы в верхней раскладке
%w -- Любая буква, или цифра (только англ.!)
%W -- Любой символ, или буква (русская), кроме английской буквы, или цифры
%x -- Шестнадцатеричное число
%X -- Любая буква, или символ, кроме цифры, или английской буквы, используемой в записи шестнадцатеричного числа
%z -- Строковые параметры, содержащие символы с кодом 0

sdmrnv, 2019-06-03 [0.527ms, s]