首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python3基于给定的正则表达式生成x值

python3基于给定的正则表达式生成x值
EN

Stack Overflow用户
提问于 2021-03-03 07:51:36
回答 1查看 46关注 0票数 0

我试图使用rstr基于regex定义生成值。

以下是起作用的原因:

代码语言:javascript
复制
[root@localhost ~]# python3
Python 3.6.8 (default, Nov 16 2020, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>import rstr
>>>print(rstr.xeger(r'[2-9]\d{11}'))
>>>867050869842

现在,我想编写一个脚本,它将以任何正则表达式作为参数,并生成10次输出:

代码语言:javascript
复制
#!/usr/bin/python3

import sys
import rstr

if len(sys.argv) != 2:
        print("[+] Usage ./regexgen.py regex")
        exit()

regex = sys.argv[1]


for string in range(10):
        print(rstr.xeger(r'{1}')).format(regex)

但是,当执行脚本时,它会失败,出现以下错误:

代码语言:javascript
复制
[root@localhost ~]# python3 script2.py [2-9]\d{11}
Traceback (most recent call last):
  File "script2.py", line 18, in <module>
    print(rstr.xeger(r'{1}')).format(regex)
  File "/usr/local/lib/python3.6/site-packages/rstr/xeger.py", line 63, in xeger
    parsed = re.sre_parse.parse(pattern)
  File "/usr/lib64/python3.6/sre_parse.py", line 855, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 616, in _parse
    source.tell() - here + len(this))
sre_constants.error: nothing to repeat at position 0

我的猜测是,xeger无法用格式函数解析插入的regex。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-03 08:36:40

试试这个:

代码语言:javascript
复制
import sys

import rstr

if len(sys.argv) != 2:
    print("[+] Usage ./regexgen.py regex")
    exit()

regex = sys.argv[1]  # regex passed as arg [2-9]\d{11}
for string in range(10):
    print(rstr.xeger(regex))

输出:

代码语言:javascript
复制
302799318288
303010436356
523231185691
537677558398
824580634154
398638175299
546948835775
845745020055
456616189703
579459609359
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66452779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档