正则表达式(Regex):是一种用于匹配字符串中字符组合的模式。它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
集合(Set):在数学和计算机科学中,集合是指明确的、互不相同的对象的汇总。
类型:
应用场景:
问题:如何创建一个与任何给定正则表达式都不匹配的所有字符串的集合?
解决方法:
(?!...)
)来排除所有匹配的模式。import re
# 给定的正则表达式列表
regex_list = [r'\d+', r'\w+@\w+\.\w+', r'\b[A-Z]+\b']
# 组合成一个大的正则表达式,表示所有可能的匹配模式
combined_regex = '|'.join(regex_list)
# 使用否定预查来排除所有匹配的模式
negative_regex = f'(?!{combined_regex})'
# 字符串列表
string_list = ['123', 'abc@example.com', 'HelloWorld', 'world!', '456def']
# 创建一个空集合来存储不匹配的字符串
non_matching_strings = set()
# 遍历字符串列表,检查每个字符串是否匹配
for s in string_list:
if not re.search(negative_regex, s):
non_matching_strings.add(s)
print(non_matching_strings)
|
(或)连接起来,形成一个大的正则表达式。(?!...)
来排除所有由 combined_regex
匹配的模式。通过这种方法,可以有效地创建一个与任何给定正则表达式都不匹配的所有字符串的集合。
领取专属 10元无门槛券
手把手带您无忧上云