【发布时间】:2012-01-15 00:07:58
【问题描述】:
我需要创建一个词法分析器/解析器来处理可变长度和结构的输入数据。
假设我有一个保留关键字列表:
keyWordList = ['command1', 'command2', 'command3']
和一个用户输入字符串:
userInput = 'The quick brown command1 fox jumped over command2 the lazy dog command 3'
userInputList = userInput.split()
我将如何编写这个函数:
INPUT:
tokenize(userInputList, keyWordList)
OUTPUT:
[['The', 'quick', 'brown'], 'command1', ['fox', 'jumped', 'over'], 'command 2', ['the', 'lazy', 'dog'], 'command3']
我编写了一个可以识别关键字的分词器,但一直无法找到一种将非关键字组嵌入到更深层次的列表中的有效方法。
欢迎使用 RE 解决方案,但我真的很想看看底层算法,因为我可能会将应用程序扩展到其他对象的列表,而不仅仅是字符串。
【问题讨论】:
标签: python algorithm parsing lexer tokenize