Regexp (Lua)

Материал из UoPilot
Версия от 21:23, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == '''regexp''' - поиск позиции подстроки в строке с помощью регулярного выражения. Т...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

regexp - поиск позиции подстроки в строке с помощью регулярного выражения. Также есть String.match (Lua).

Синтаксис

Привязка к окну: Нет. <br>Работа со свернутым окном: Да.

position, hitstring, errorcode = regexp (<string>, <regexp>)

Где: <br>position - номер позиции первого символа совпавшего выражения. Если не найдено, то -1. <br>hitString - совпавшее выражение. Если не найдено, то -1 <br>string - строка в которой происходит поиск. <br>regexp - собственно сам регексп. <br>errorcode - код ошибки.

Примеры

--lua
--Найти в строке целое число
local r = <nowiki>\d+</nowiki>
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) <br>String.find (Lua) <br>String.gsub (Lua) <br>String.gmatch (Lua)