gpt4 book ai didi

python - 是否可以使用 AND 运算符之类的东西编写 Python 正则表达式?

转载 作者:行者123 更新时间:2023-12-04 12:32:02 25 4
gpt4 key购买 nike

我找不到一种将多个正则表达式写入一个的好方法,以便针对所有子正则表达式检查输入字符串,如下所示:

def match(input_str: str, regexp: str) -> bool:
...

print(match('abaaca', '.*aba.*<AND>.*aca.*')) # True
print(match('abaca', '.*aba.*<AND>.*aca.*')) # True, it doesn't matter that one letter a is shared
print(match('abac', '.*aba.*<AND>.*aca.*'). # False
有没有比解析正则表达式来查看是否有 <AND> 更好的方法在其中,将字符串拆分为几个子正则表达式并循环匹配?
UPD:明确地说,我正在寻找一种方法将其用作全功能运算符,例如 ((a<AND>b)|(c<AND>d))<AND>e它将匹配所有字符串 abe , bae , cdedce .不止一个 <AND>但有几个,与括号混合。

最佳答案

您还可以实现一个函数来检查所有模式是否与字符串匹配

import re

def matchall(patterns, string):
return all([re.search(pattern, string) for pattern in patterns])

print(matchall([".*aba.*", ".*aca.*"], "abaaca")) # True

关于python - 是否可以使用 AND 运算符之类的东西编写 Python 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68410139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com