python根据正则表达式生成对应的字符串

python根据正则表达式生成对应的字符串,第1张

1、安装xeger: pip install xeger (python3为 pip3 install xeger )

安装结果如下(不用看),

2、随机生成满足指定正则表达式的字符串:

结果:

1、安装exrex: pip install exrex (python3为 pip install exrex )

安装结果如下(不用看),

2、随机生成满足指定正则表达式的字符串:

结果:

https://www.jianshu.com/p/4e5672a6deb4

基本上Mock数据的库,都会有支持使用正则表达式来mock字符串的库,suchjs也一样。

由于这个功能本身具有很大的独立性,所以单独提成一个库也非常常见。JS里实现类似功能的库已经有不少,比较流行的比如 randexp ,看其测试覆盖率已经达到100%,是一个测试良好的库。

但这些库比如 randexp,开发时间比较偏早,导致有些功能支持得不是很全。对于suchjs而言,有个很重要的设计就是,有时候需要对一些匹配分组进行预设定,从而针对同一个正则表达式,不同的分组配置能生成不同的结果。这一点 randexp 显然是无法满足的,首先,randexp 不支持对某个分组预设定值;其次,randexp 也没有对最新的命名分组语法做支持。举个例子来说:

另外,randexp 里也不支持最新的 u unicode flag,从而 /\u{4e00}/ 这种类似的语法写法无法得到支持。这些都是导致我决定自己开发一个正则模拟库的原因。在这个库 reregexp 里,对正则表达式的语法解析对各种边界语法处理都完全按照js正则本身的规则进行了实现,所以它具备了比 randexp 更完备更强大的功能,更多的功能细节可以在 https://github.com/suchjs/reregexp github上可以看到,希望它能给如同我一样有类似需求的人带来一些帮助,如果你恰好用得到欢迎star和提issue。

两个都不能自动生成正则

Excel中使用VBA可以用正则表达式

Regexbuddy可以测试正则,可以把正则表达式转换不同的语言,如PHP、Java,能自动生成匹配需要的语句,并且还能把正则的格式变换成复合该语言的字串。但是不能自动生成正则表达式字串

例如:

根据上面的正则语句自动生成了下面的语句。但是上面的正则语句不是自动生成的,是要人工输入的。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/28620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-18
下一篇2023-02-18

发表评论

登录后才能评论

评论列表(0条)

    保存