2012-05-03 3 views
3

regex에서 |은 교대로 사용됩니다. 루아 패턴에서 해당 문자는 무엇입니까?루아 패턴의 대체 연산자는 무엇입니까?

+1

또한 [Lua string.match는 불규칙한 정규 표현식을 사용합니까?] (http://stackoverflow.com/questions/7138189/lua-string-match-uses-irregular-regular-expressions) – Phrogz

답변

12

먼저 Lua patterns은 정규 표현식이 아닙니다. 그것들은 서로 다른보다 단순한 어울리는 언어입니다 (다른 장점과 단점이 있음).

위에서 언급 한 사양 및 this answer에 따라 루아 패턴에 대체 연산자가 없습니다. 이 기능을 사용하려면 좀 더 강력한 Lua 구조 (예 : LPEG 또는 Lua Regex Library)를 사용해야합니다.

+3

이 부분을 완벽하게 보완합니다. LPEG 나 루아 정규식을 사용하지 않을 때 가끔씩 빠져 나올 수 있다고 말하면서 답하십시오. 평범한 사람이 '트릭을 할 수 있습니다. : (a) 또는 (s) : (b)와 일치하면 ...' – kikito

+1

자주 당신 좀 더 일반적인 일치로 빠져 나와 결과를 전환 할 수 있습니다. : 단어 == "foo"또는 단어 == "bar"이면'local word = s : match ("% w +") .... else ....... end' – daurnimator

+0

Arduino Regexp (루아 패턴을 기반으로 함)의 관점에서이 질문을했습니다. 이 대답에 내가 포팅 할 수있는 해결 방법이 포함되기를 기대하고있었습니다. –

0

또 다른 해결 방법은 대신의 :

사과 | 오렌지

쓰기 :

[AO] [PR] [파] [LN] [예]

설명 : 각 단어의 대체 문자를 찾습니다. 짜잔!

+0

그것은'arplg'와도 일치 할 것입니다. –