Regexp (Lua): различия между версиями
Перейти к навигации
Перейти к поиску
Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == '''regexp''' - поиск позиции подстроки в строке с помощью регулярного выражения. Т...») |
Tatikoma (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: Нет. | Привязка к окну: Нет. | ||
− | + | <br>Работа со свернутым окном: Да. | |
− | position, hitstring, errorcode = regexp ( | + | position, hitstring, errorcode = regexp (<string>, <regexp>) |
Где: | Где: | ||
− | + | <br>'''position''' - номер позиции первого символа совпавшего выражения. Если не найдено, то -1. | |
− | + | <br>'''hitString''' - совпавшее выражение. Если не найдено, то -1 | |
− | + | <br>'''string''' - строка в которой происходит поиск. | |
− | + | <br>'''regexp''' - собственно сам регексп. | |
− | + | <br>'''errorcode''' - код ошибки. | |
== Примеры == | == Примеры == | ||
Строка 17: | Строка 17: | ||
--lua | --lua | ||
--Найти в строке целое число | --Найти в строке целое число | ||
− | local r = | + | local r = <nowiki>[[\d+]]</nowiki> |
local s = "Вася съел 3 яблока." | local s = "Вася съел 3 яблока." | ||
position, hitstring = regexp (s, r) | position, hitstring = regexp (s, r) | ||
Строка 38: | Строка 38: | ||
[[String.match (Lua)]] | [[String.match (Lua)]] | ||
− | + | <br>[[String.find (Lua)]] | |
− | + | <br>[[String.gsub (Lua)]] | |
− | + | <br>[[String.gmatch (Lua)]] |
Текущая версия на 11:05, 28 августа 2019
Содержание
Описание
regexp - поиск позиции подстроки в строке с помощью регулярного выражения. Также есть String.match (Lua).
Синтаксис
Привязка к окну: Нет.
Работа со свернутым окном: Да.
position, hitstring, errorcode = regexp (<string>, <regexp>)
Где:
position - номер позиции первого символа совпавшего выражения. Если не найдено, то -1.
hitString - совпавшее выражение. Если не найдено, то -1
string - строка в которой происходит поиск.
regexp - собственно сам регексп.
errorcode - код ошибки.
Примеры
--lua --Найти в строке целое число local r = [[\d+]] local s = "Вася съел 3 яблока." position, hitstring = regexp (s, r) if position ~= -1 then -- если найдено log ("Позиция первого символа: " .. position) log ("Найденное число: " .. hitstring) end
--lua --Найти в строке целое или дробное число local r = [[\d+[.,]*\d*]] local s = "У Васи зарплата: 50.432 рубля." position, hitstring = regexp (s, r) if position ~= -1 then -- если найдено log ("Позиция первого символа: " .. position) log ("Найденное число: " .. hitstring) end
Смотрите также
String.match (Lua)
String.find (Lua)
String.gsub (Lua)
String.gmatch (Lua)