1
7
这里有一个蛮力解决方案,应该有效。它的运行时间是o(l^max_length)(其中l是字母表的大小),因此使用它的风险自负。
示例用法:
它将输出最长为5的所有字符串,从一个f的序列开始,然后是一个1-3的非空序列,然后结束:
|
2
4
你不想这么做。大多数结果集将是巨大的,有些将是无限的。相反,使用一系列测试向量并依次对每个向量应用正则表达式:
|
3
1
当且仅当regexp中有限定符(+或*)时,匹配字符串集是无限的。你的问题似乎不是针对那些模式。我宁愿相信
product
功能来自
例如,您可以引入一个表示任意字母的特殊字符(例如下划线),然后构建这样的模式
定义你的字母表
定义一个函数,生成所有可能的实例
然后,您可以通过解析
|
4
0
一些正则表达式匹配有限数量的输入字符串,但是许多(大多数?)匹配无穷多个输入字符串。这有点像问“给定python语言语法,生成所有可能的python程序”。如果你试过的话,你也许可以写一个程序把它们按顺序列出来(尽管运行起来需要无限的时间),但是你确定你想这样做吗?你为什么要? 我确信标准库中的正则表达式引擎不会公开生成所需输出的方法。您必须获得对内部数据结构的低级访问权,或者自己实现一些dfa引擎的东西。 |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |