Nic*_*ner 5 python parsing nlp pyparsing
有什么区别:
foo = TOKEN1 + TOKEN2
Run Code Online (Sandbox Code Playgroud)
和
foo = Combine(TOKEN1 + TOKEN2)
Run Code Online (Sandbox Code Playgroud)
谢谢.
更新:根据我的实验,似乎Combine()是终端,你正在尝试构建一个表达匹配,而普通+是非终端.但我不确定.
Pau*_*McG 14
Combine有2个效果:
它将所有标记连接成一个字符串
它要求匹配的令牌都是相邻的,没有中间空格
如果你创建一个表达式
realnum = Word(nums) + "." + Word(nums)
Run Code Online (Sandbox Code Playgroud)
然后realnum.parseString("3.14")将返回3个令牌的列表:前导'3','.'和尾随'14'.但如果你在Combine中包装它,如:
realnum = Combine(Word(nums) + "." + Word(nums))
Run Code Online (Sandbox Code Playgroud)
然后realnum.parseString("3.14")将返回'3.14'(然后您可以使用解析操作将其转换为浮点数).而且,由于合并禁止显示pyparsing的标记之间默认空格跳跃,你不会意外发现"3.14",在"答案是3.14是下一个答案."
| 归档时间: |
|
| 查看次数: |
2870 次 |
| 最近记录: |