首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python PLY Lex模糊性

Python PLY Lex模糊性
EN

Stack Overflow用户
提问于 2013-01-04 05:26:36
回答 1查看 344关注 0票数 3

我在标记级别上遇到了歧义问题。

问题看起来是这样的。我的代码看起来像这样,所以令牌t_UN1具有更高的优先级。

代码语言:javascript
复制
t_ignore = ' \t\v\r' # whitespace 

....

def t_UN1(t): #NS_
    r'NS\_'
    return t
def t_IDENTIFIER(t):
    r'[a-zA-Z][a-zA-Z0-9_]*'
    return t

....

我想实现这一点,例如。字符串: NS_XYZ标识为“NS_”,由空格包围的单个标识符标识为"UN_1“。

我该怎么处理呢?目前,string标识符被简单地拆分成两个标记UN1和NS_XYZ

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 23:16:44

如果你想得到‘由空格包围的单个NS_’,你可以将空格字符类添加到你的标记字符串中:

代码语言:javascript
复制
def t_UN1(t): #NS_
    r'\s+NS\_\s+'
    return t

旁注:对于PLY问题,ply-hack google group是一个询问PLY相关问题的好地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14147529

复制
相关文章

相似问题

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