我正在尝试编写一个简单的语法来解析具有多行部分的文本。我无法理解如何去做。这是我到目前为止写的语法 - 在这里将不胜感激。
ps:我意识到云雀对于这个问题来说太过分了,但这只是我试图解析的一个非常简化的版本。
from unittest import TestCase
from lark import Lark
text = '''
[section 1]
line 1.1
line 1.2
[section 2]
line 2.1
'''
class TestLexer(TestCase):
def test_basic(self):
p = Lark(r"""
_LB: "["
_RB: "]"
_NL: /\n/+
name: /[^]]+/
content: /.+/s
section: _NL* _LB name _RB _NL* content
doc: section*
""", parser='lalr', start='doc')
parsed = p.parse(text)