내가 같은 문자열을 구문 분석하려고 : &1 first &2 second &4 fourth \\
그것에서 테이블루아 패턴 매칭 : 구분 된 캡처
t = {1=first, 2=second, 4=fourth}
를 구축하는 나는 매우 나의 순진한 시도 일반적으로 정규식 경험이 아니에요 (순간위한 \\
테이블 부분)을 무시하면 I가 두 쌍 캡처 참조 기대 된 첫 번째 쌍의 포착을 제공
local s = [[&1 first &2 second &4 fourth \\]]
for k,v in string.gmatch(s, "&(%d+)(.-)&") do
print("k = "..k..", v = "..v)
end
이었다. 나는 약간의 독서를했고, lpeg
라이브러리를 발견했다. 그러나 그것은 나에게 대단히 친숙하지 않다. lpeg
이 필요합니까? 아무도 내 오류를 설명 할 수 있을까?
''% s ': (% d +) ([^ &] *)'' –
@EgorSkriptunoff Aha, 감사합니다. 여기'([^ &] *)'는'&'를 포함하지 않는 가장 긴 문자 시퀀스와 일치합니까? –
@EgorSkriptunoff, 대답을 넣을 수있는 "덧글 추가"아래에 큰 텍스트 상자가 있습니다.) –