私は LPeg を学ぼうとre module
していますが、特に公式ドキュメントが非常に優れているため、非常に興味深い経験でした。
ただし、説明が不十分と思われるトピックがいくつかあります。たとえば、named group capture
構造: {:name: p :}
.
次の例を考えてみましょう。一致しない理由がわかりません。
print(re.compile
[[item <- ('<' {:tag: %w+!%w :} '>' item+ '</' =tag '>') / %w+!%w]]
:match[[<person><name>James</name><address>Earth</address></person>]])
-- outputs nil
ここで何が問題なのかを理解してくれる人はいますか? 私はそれについてかなり考えましたが、何か重要なものが欠けているようです。