python的正则表达式反转器

unmatcher的Python项目详细描述


unmatcher试图解决以下问题:

Given a regular expression, find any string that matches the expression.

为什么?主要是因为。但一个可能的应用是为字符串处理函数生成测试数据。

状态

PyPI package versionLicenseBuild Status

支持正则表达式的大多数典型元素:

  • 乘数:*+
  • 捕获组:|( )(包括反向引用)
  • 字符类(\d|\w|\s等)和字符集([]

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根据捕获组的实际子表达式验证的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于测试失败,java testcontainers maven构建失败   java实现jacobi算法实现laplace方程   java中的多线程:如何在不等待所有线程使用ExecutorService完成任务的情况下终止所有线程的执行?   java Hello World不在Android Studio 3中工作   ubuntu Tomcat7的Java版本不正确   java Javafx内存泄漏   对于手动实现的Spring数据存储库方法,我应该使用Java8默认方法吗?   googleappengine中的java添加过滤查询   html当使用JSOUP库在Java中读取标签时,如何保留标签(如<br>、<ul>、<li>、<p>等)的含义?   编码为什么jasper生成的报告在Java中不显示西里尔语(保加利亚语)?   java有没有办法隐藏当前位置和jdk动作?   java找出编译原型文件的版本   有没有办法在运行时更改java方法的访问修饰符?   语法字符串。。。Java中的参数   java数组元素在添加其他元素时会相互覆盖   eclipse中的java GWT项目   java如何为spring rest模板请求将动态json属性名映射到jackson   java无法在Windows 10上找到特定的JDK   在xml字符串和java字符串之间提取正则表达式子字符串