python的正则表达式反转器
unmatcher的Python项目详细描述
unmatcher试图解决以下问题:
Given a regular expression, find any string that matches the expression.
为什么?主要是因为。但一个可能的应用是为字符串处理函数生成测试数据。
API
unmatcher模块公开单个reverse函数。 它接受一个正则表达式(文本形式或编译形式)并返回与之匹配的随机字符串:
>>> import unmatcher >>> print unmatcher.reverse(r'\d') 7
可以提供其他参数,指定捕获组的预定义值 在表达式内部。对编号组('\1'等)使用位置参数:
>>> import unmatcher >>> print unmatcher.reverse(r'<(\w+)>.*</\1>', 'h1') <h1>1NLNVlrOT4YGyHV3vD7cHvrAl8OHVWDPKgmaE4gUsctboyFYUx</h1>
和命名组的关键字参数:
>>> import unmatcher >>> print unmatcher.reverse('(?P<foo>\w+)__(?P=foo)', foo='bar') bar__bar
注意,预定义值是not根据捕获组的实际子表达式验证的。