저는 롤아에서 자동으로 IRC 로그를 포맷하는 프로그램을 코딩했습니다. 롤 플레이 로그에는 이중 괄호를 사용하는 "문자 부족"대화에 대한 특정 지침이 있습니다. 예 : ((<Things unrelated to roleplay go here>))
. 내 프로그램에서 이중 대괄호 (및 양쪽 대괄호 포함) 사이의 텍스트를 제거하도록 노력했습니다. 코드는 다음과 같습니다 여기루아 패턴 도움말 (이중 괄호)
ofile = io.open("Output.txt", "w")
rfile = io.open("Input.txt", "r")
p = rfile:read("*all")
w = string.gsub(p, "%(%(.*?%)%)", "")
ofile:write(w)
패턴이> 나는 패턴의 다양한 변화를 시도했습니다 "%(%(.*?%)%)"
입니다. 모든 열매를 맺지 결과 결과 :
1. %(%(.*?%)%) --Wouldn't do anything.
2. %(%(.*%)%) --Would remove *everything* after the first OOC message.
그런 다음, 내 친구가 백분율로 브라켓을 붙이는 것은 작동하지 않을 것이라고 나에게 말했다, 나는 '탈출'괄호에 백 슬래시를 사용했다는 것을.
3. \(\(.*\)\) --resulted in the output file being completely empty.
4. (\(\(.*\)\)) --Same result as above.
5. (\(\(.*?\)\) --would for some reason, remove large parts of the text for no apparent reason.
6. \(\(.*?\)\) --would just remove all the text except for the last line.
짧은, 절대 질문 : 나는 이중 괄호 사이의 모든 텍스트를 제거하고, 너무 이중 괄호 자신을 제거하는 데 사용할 필요가 무엇 패턴 ?
이들은 정규 표현식이며 디자인 패턴이 아닙니다. –