Python - 从正则表达式生成指定长度的随机字符串

时间:2016-11-24 06:56:36

标签: python string python-2.7

我的字符串长度不得超过255个字符。 例如,可以采用以下正则表达式 -

^([a-zA-Z0-9]{1}((-|[a-zA-Z0-9])*[a-zA-Z0-9])*[.])*[a-zA-Z]{1}((-|[a-zA-Z0-9])*[a-zA-Z0-9])*\.?$

我使用 exrex.getone(regular_expression)函数生成字符串,我无法控制生成的字符串长度。
如何生成满足正则表达式的预期长度字符串?
直到现在我还没有看到满足这种条件的任何答案。

1 个答案:

答案 0 :(得分:0)

来自exrex网站:

  

有无限匹配字符串的正则表达式(例如:[a-z] +),在这些情况下,exrex限制了无限部分的最大长度。

和代码本身:

418 def getone(regex_string, limit=20): 
419     """Returns a random matching string to a given regular expression 
420     """ 
421     return _randone(parse(regex_string), limit) 

因此,限制关键字。我无法确定这是否会限制整个字符串或每个无限部分,但我认为它是后者。尝试将此限制为较小的值,例如4。