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

一、使用xeger

1、安装xeger:pip install xeger(python3为pip3 install xeger
安装结果如下(不用看),

C:\Users\test>pip3 install xeger
Collecting xeger
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000002069B173C40>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/f0/53/1de8409bb6171a302e00c79552f165ea3512fbc8c49ac80425e1fc9a711d/xeger-0.3.5.tar.gz
  Downloading xeger-0.3.5.tar.gz (4.1 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: xeger
  Building wheel for xeger (setup.py) ... done
  Created wheel for xeger: filename=xeger-0.3.5-py3-none-any.whl size=4741 sha256=ae8c1b088d9e3a7e9c6bd1f1e2d8b3c2b33a4f7a12063502297c9a20acd7113e
  Stored in directory: c:\users\zhangyue1\appdata\local\pip\cache\wheels\df\c7\8c\1291b31ec7073594d671e7b2499fa0031dfd6804697b12db29
Successfully built xeger
Installing collected packages: xeger
Successfully installed xeger-0.3.5
WARNING: You are using pip version 21.3.1; however, version 22.1.2 is available.
You should consider upgrading via the 'c:\users\zhangyue1\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.

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

from xeger import Xeger

_x = Xeger()
for i in range(5):
    # 手机号码格式
    rule = r"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$"
    phone_number_str = _x.xeger(rule)
    print(phone_number_str)

结果:

13027111301
15807333843
15550223568
15902796129
13960811913

二、使用exrex

1、安装exrex:pip install exrex(python3为pip install exrex
安装结果如下(不用看),

C:\Users\test>pip3 install exrex
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/exrex/
Collecting exrex
  Downloading exrex-0.10.5.tar.gz (4.8 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: exrex
  Building wheel for exrex (setup.py) ... done
  Created wheel for exrex: filename=exrex-0.10.5-py3-none-any.whl size=9174 sha256=23ecf78771b349ce5fc6c9105f92ce89191a9abbc1bc9fda5879f3ec1fec91c7
  Stored in directory: c:\users\zhangyue1\appdata\local\pip\cache\wheels\a5\2b\ba\4c8a38330fc7b1035c283bdb28da75863030f1a69e774832a1
Successfully built exrex
Installing collected packages: exrex
Successfully installed exrex-0.10.5
WARNING: You are using pip version 21.3.1; however, version 22.1.2 is available.
You should consider upgrading via the 'c:\users\zhangyue1\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.

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

import exrex

for i in range(5):
    # 手机号码格式
    rule = r"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$"
    phone_number_str = exrex.getone(rule)
    print(phone_number_str)

结果:

18797383004
18529443256
18738762164
13268452512
13438606363

各种语言下,可根据正则表达式生成对应的字符的库:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容