Regexp (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: «== Описание == '''regexp''' - поиск позиции подстроки в строке с помощью регулярного выражения. Т...»)
(нет различий)

Версия 21:23, 27 августа 2019

Описание

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)