Re: LPeg and whitespace removal
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: LPeg and whitespace removal
- From: "Jose Luis Hidalgo" <joseluis.hidalgo@...>
- Date: 2007年4月12日 19:27:18 +0200
Hi Joshua,
What about this? :
ws = lpeg.P('*')
sep = lpeg.P(',')
elem = ws^0 * (lpeg.C( (1 - (sep+ws) )^0)) * ws^0
p = elem * (sep * elem)^0
2007年4月12日, Joshua Jensen <jjensen@workspacewhiz.com>:
As my first attempt at using LPeg, I took the Splitting a String example
and wanted to extend it to filter out whitespace on either side of the
string. All whitespace (represented as a visible *) is removed from the
pattern below except the whitespace at the end. I understand why it
doesn't work; I don't understand how to make an elegant fix for it. I
tried all kinds of approaches without success.
ws = lpeg.P('*')^0
sep = ws * lpeg.P(',') * ws
elem = (lpeg.C((1 - sep)^0))
p = ws * elem * (sep * elem)^0
print(p:match('*abcd**,*efgh,***ijklm******'))
Can anyone clue me in?
--
Jose L. Hidalgo Valiño (PpluX)
---- http://www.pplux.com ----