首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法分析:嵌套countedArray?

语法分析:嵌套countedArray?
EN

Stack Overflow用户
提问于 2013-09-15 02:27:28
回答 1查看 166关注 0票数 1

这是一个DSL的片段,我正在尝试使用pyparing来解析它。

我有一个<keyword> 02 01 30 03 40 20 10格式的字符串

哪里

02是字符串的数目

01是string1的长度(以字节为单位)

30本身就是string1

03是string2的长度(以字节为单位)

40 20 10是string2

如何使用string解析来标记此字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-15 07:35:16

所以它是一个计数阵列的countedArray?你试过:

代码语言:javascript
复制
from pyparsing import Word,nums,alphas,countedArray

test = "key 02 01 30 03 40 20 10"

integer = Word(nums)

# each string is a countedArray of integers, and the data is a counted array
# of those, so...
lineExpr = Word(alphas)("keyword") + countedArray(countedArray(integer))("data")

# parse the test string, showing the keyworod, and list of lists for the data
print lineExpr.parseString(test).asList()

给予:

代码语言:javascript
复制
['key', [['30'], ['40', '20', '10']]]

命名的结果还允许您按名称获取分析过的位:

代码语言:javascript
复制
result = lineExpr.parseString(test)
print result.keyword
print result.data

给予:

代码语言:javascript
复制
key
[[['30'], ['40', '20', '10']]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18808363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档