假设我有10,000个正则表达式和一个字符串,我想知道字符串是否与其中任何一个匹配并获得所有匹配.执行此操作的简单方法是仅针对所有正则表达式逐个查询字符串.有更快,更有效的方法吗?
编辑:我尝试用DFA替换它(lex)这里的问题是它只会给你一个单一的模式.如果我有一个字符串"hello"和模式"[H | h] ello"和".{0,20} ello",DFA只会匹配其中一个,但我希望它们都能击中.
我需要通过管道实时吸收bash命令的输出.例如
for i in $(seq 1 4); do echo $i; sleep 1; done | ./script.py
Run Code Online (Sandbox Code Playgroud)
script.py有这个
for line in sys.stdin.readlines():
print line
Run Code Online (Sandbox Code Playgroud)
我希望序列在可用时打印,但python脚本在继续之前等待bash脚本结束.
我看了这个相关的答案,但这并没有解决我的问题.我如何在python中实现这一目标?
我有一个数据字典,关键是文件名,值是其属性值的另一个字典.现在我想将这个数据结构传递给各种函数,每个函数都对属性进行一些测试并返回True/False.
一种方法是从主代码中明确地逐个调用每个函数.但是我可以这样做:
#MYmodule.py
class Mymodule:
def MYfunc1(self):
...
def MYfunc2(self):
...
#main.py
import Mymodule
...
#fill the data structure
...
#Now call all the functions in Mymodule one by one
for funcs in dir(Mymodule):
if funcs[:2]=='MY':
result=Mymodule.__dict__.get(funcs)(dataStructure)
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是当我向MYmodule添加更多逻辑/测试时,主类的实现不需要改变.
这是解决手头问题的好方法吗?这个解决方案有更好的替代方案吗?