[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Matching non-escapped quote with Lua pattern
- From: Andrew Starks <andrew.starks@...>
- Date: Mon, 3 Mar 2014 17:37:22 -0600
On Monday, March 3, 2014, Philipp Janda <siffiejoe@gmx.net> wrote:
Am 03.03.2014 19:34 schröbte Andrew Starks:
I'm having trouble finding a pattern that works for finding an
unescaped quote in a string. So:
[[\']] should not match
[[']] should match
I can get it to work with '([^%\\]")' , except at the beginning of the string.
You could put a dummy character at the beginning of the string ...
My suggestion:
local function qfind( s )
local ok, a, b = string.match( " "..s, "[^\\](\\*)%1()[\"']()" )
if ok then
return a-1, b-1
end
return nil
end
(But if you write an extra function for matching, you could as well try the two different patterns and save the temporary string ...)
-Andrew
Philipp
Thank you, both. Enrico's solution is the one that I had in place.
I had failed to grasp that "any character that is not" means that there must be a character.
-Andrew