Python 正则表达式标记化的算法复杂度是多少?
这一准则是否会被考虑Python 正则表达式标记化的算法复杂度是多少?,python,runtime,time-complexity,token,big-o,Python,Runtime,Time Complexity,Token,Big O,这一准则是否会被考虑 根据我从NLTK文档中读到的内容,RegexpTokenizer使用正则表达式将字符串拆分为子字符串。我假设使用正则表达式对字符串进行mach运算的值为O1,然后使用标记器将字符串拆分为子字符串。标记化将为On,其中n是输入中的字符数。感谢您的澄清。我认为这段代码应该是On或Big-O of n 代码中决定其运行时间的最大因素是正则表达式搜索的字符串的大小。其他行将被视为常量或O1 假设您的正则表达式搜索一段文本的时间要长一百倍,那么在决定时间复杂度时,该文本将是压倒性的因
根据我从NLTK文档中读到的内容,RegexpTokenizer使用正则表达式将字符串拆分为子字符串。我假设使用正则表达式对字符串进行mach运算的值为O1,然后使用标记器将字符串拆分为子字符串。标记化将为On,其中n是输入中的字符数。感谢您的澄清。我认为这段代码应该是On或Big-O of n 代码中决定其运行时间的最大因素是正则表达式搜索的字符串的大小。其他行将被视为常量或O1
假设您的正则表达式搜索一段文本的时间要长一百倍,那么在决定时间复杂度时,该文本将是压倒性的因素。根据正则表达式和匹配过程的文本可能会有不同的时间复杂度。在这种情况下,当有人发布带有许多空格的代码时,正则表达式中的一个简单错误导致系统崩溃。匹配过程太复杂,系统无法处理。假设文本非常简单,比如Hello World,而不是过于复杂,你会认为时间复杂度是多少?谢谢你的澄清,它取决于正则表达式和文本,我没有考虑到这一点。
from nltk.tokenize import RegexpTokenizer
s = "Good muffins cost $3.88\nin New York. Please buy me\ntwo of them.\n\nThanks."
tokenizer = RegexpTokenizer('\w+|\$[\d\.]+|\S+')
tokenizer.tokenize(s)