【发布时间】:2017-09-15 12:21:41
【问题描述】:
在 Python 中有什么好的方法吗:
- 检查字符串是否匹配一组正则表达式
- 如果是:将匹配的部分作为元组返回。
所以本质上我想要一种简单的方法来输入简单的解析器/扫描器语法,并简单地提取特定结构中的所有匹配项(例如元组)
假设我们在字符串中编码了国家代码、城市名称和索引。我们要提取这个:
input = "123-NEWYORK-[2]"
grammar = "<country,[0-9]+>-<city,[A-Z]*>-[<index,[0-9]*>"
res = HOW_TO_DO_THIS(input,grammar)
if res is None:
print("Does not match")
else
(countrycode,city,index) = res
【问题讨论】:
-
您需要使用
re模块;目前的问题太宽泛了,因为它基本上要求提供该模块的教程。
标签: python regex compiler-construction regex-greedy bnf