生成匹配模式的随机字符串

stringbrewer的Python项目详细描述


stringbrewer:生成匹配模式的随机字符串

模式是用StringBrewer模式语言指定的,并生成 由两部分组成:一个recipe和一组配料。配方是 本质上是正则表达式的一种修改形式;空白不是 重要的,每个成分的名称都被它的定义所取代。安 component是一个以空格分隔的项目列表;每个项目都是 字符(指定为文本字符或Unicode 十六进制中的codepoint),由连字符分隔的字符范围, 或用逗号分隔的项的联合。成分也可能含有 参考其他成分。在

这一点最好通过例子来理解。下面的模式生成 泰卢固语素:

# Generate random Telugu-like morphemes
(Base HalantGroup{0,2} TopPositionedVowel?){1,3}

Base = క-న,ప-హ
Halant = 0C4D
HalantGroup = Halant Base
TopPositionedVowel = 0C46-0C48,0C4A-0C4C

第一行是注释,第二行是配方,空白行。 表示成分列表的开头。我们来看看配料。 Base0x0C15-0C28或{}范围内的任何字符。 (我们将这些指定为文字,只是因为我们可以)。一个Halant是 字符0x0C4D。一个HalantGroup是一个后跟一个碱基的悬垂物。在

现在你了解了配料,如果你 考虑一下正则表达式的语法:一个基后跟零、一或 两个halant组,加上一个可选的顶部位置元音,都在 一次和三次。在

初始化 ^{pr2}$

初始化StringBrewer对象

必须提供文件名、字符串或配方 字符串和成分字典。在

参数

  • from_file-包含模式的文件的文件名。在
  • from_string-字符串中的模式。在
  • recipe-模式的配方部分。在
  • ingredients-正则表达式词典。在

生成全部

|generate_all()

生成所有组合的列表。在

如果组合超过100000个,则例外 引发以避免内存不足。在

生成

|generate(min_length=0,max_length=None)

生成单个随机组合。在

参数

  • min_length-最小长度(如果未指定,则为零)
  • max_length-最大长度(如果未指定,则无最大值)

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

推荐PyPI第三方库


热门话题
java需要一种简单的方法来创建用于排序的comparator类   java getReadableDatabase和getWriteableDatabase无法解析   查找列表<Long>中与某个元素对应的所有索引的java方法   安卓将视图添加到ViewFlipper会导致java。StackOverflowerr语言   java根据它所包含的长“curTime”类字段将N的列表拆分为24(小时)   Android N中的Java8流API   自动生成Java策略文件的安全性   垃圾收集鼓励Java中的主要GC(但不是STW GC)   java如何检查UDP服务器上侦听的客户端数量   在前一台主机被Datastax Java驱动程序关闭后,Cassandra尝试重新连接到下一台主机   java如何使用Spring Boot创建部分代理   java是否有一个网站或资源可以完全比较EJB版本   java无需使用第三方库从gradle生成输出   继承由于这个多态性的基本示例中的语法有什么不同吗?(爪哇)   java字符串数组中的空字符串   java为什么CMS中的初始标记阶段是串行的   为什么Lucene有时与InChIKeys不匹配?   安卓通知Java应用程序数据库中的更改   java如何将单个json对象值解析为按钮   java打印堆栈将运行时错误跟踪到文件