gpt4 book ai didi

python - BNF 文法符号拆分的正则表达式

转载 作者:行者123 更新时间:2023-12-01 04:55:02 34 4
gpt4 key购买 nike

我需要迭代形式的产生规则的符号:

例如:输入

<relational operator> ::= = | <> | < | <= | >= | > | in
<next constant definition> ::= <empty> | <next constant definition> ; <constant definition>

所以我需要派生一个正则表达式来分割文本。这是我到目前为止所拥有的

(?:\s|^|\s<|^<)(?:.*?)(?:\s|$|\s>|>$)

问题是re.findall()没有产生我想要的输出

预期输出是:

[<relational operator>, ::=, =, |, <>, |, <, |, <=, |, >=, |, >, |, in]
[<next constant definition>, ::=, <empty>, |, <next constant definition>, ;, <constant definition>]

最佳答案

使用像 <\w+(?:\s+\w+)*>|\S+ 这样简单的东西怎么样?

   < \w+ 
(?: \s+ \w+ )*
>
|
\S+

关于python - BNF 文法符号拆分的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623849/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com