luogu-dev / cyaron

CYaRon: Yet Another Random Olympic-iNformatics test data generator
GNU Lesser General Public License v3.0
1.32k stars 164 forks source link

根据模式串生成数据(字符串) #64

Closed Hukeqing closed 4 years ago

Hukeqing commented 4 years ago

random_regular函数——根据给定的模式串生成数据 参数: *args——模式串,可以有多个,会随机从给出的模式串中选择一个来完成生成 **kwargs——多个匹配个数限制,参数名:limit,限制多个匹配时,最大的生成长度,默认为10个,当输入的参数为值小于等于 1 的时候,也采用默认的个数。当然也可以(建议)直接把要求的长度限制在正则表达式中。 示例:

String.random_regular(r'[0-9]+\w_[a-z]{2,3}', r'[0-1]{8,9}@\.', limit=4)
# 在模式串 r'[0-9]+\w_[a-z]{2,3}' 和 r'[0-1]{8,9}@\.' 中挑选一个作为本次数据生成的模式串,限制模式串中的 “+” 这类匹配多个的正则表达式符号最大生成个数为4个。返回一个字符串

其他说明: 借用了 xeger 包的正则表达式生成工具 可能对 cyaron 包的结构理解还没透彻,可能有部分地方没有进行修改/补充

Hukeqing commented 4 years ago

补充说明: 后来发现在 string.py 文件中,NUMBERS 变量不需要导入了,一开始是我理解错了了 在 gitignore 中增加了 pycharm 的工程文件夹