Regexp (Lua)

Материал из UoPilot
Перейти к навигации Перейти к поиску

Описание

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)