对于我们的反垃圾邮件程序,我们有一个正则表达式列表。对于传入的电子邮件,每个正则表达式都针对主题和正文进行测试。目前,这个列表包含大约200行,每行由一个正则表达式组成。我怀疑列表中的某个地方有一个无效的正则表达式。现在,我正在寻找一种方法,如何测试每一行是否包含有效的正则表达式,并在正则表达式无效的每一行得到通知。有了所有的工具和网站测试,如果一个字符串匹配一个正则表达式,我找不到,我正在搜索的东西。你知道这样的方法吗?
57hvy0tb1#
由于我最近更像是一个管理员,我首先想到的是“随时可用”的东西。;-)因为我最近安装了Python,并且我记得一个演示文稿,其中ChatGPT生成了一些代码,所以我决定给予一下。它奏效了:
import re def main(): print("Please enter a multi-line string (Enter 'EOF' to finish):") input_lines = [] while True: line = input() if line == "EOF": break input_lines.append(line) valid_count = 0 invalid_count = 0 for i, line in enumerate(input_lines, start=1): try: re.compile(line) valid_count += 1 except re.error: invalid_count += 1 print(f"Line {i}: Invalid regular expression - {line}") print("\nSummary:") print(f"Valid regular expressions: {valid_count}") print(f"Invalid regular expressions: {invalid_count}") if __name__ == "__main__": main()
第一条提示:编写一个Python程序,它将执行以下任务:1.让我输入一个多行字符串。1.对于每一行:a.测试行是否包含有效的正则表达式。B.如果正则表达式无效,则输出行号和行内容。第二条提示:修改程序,它总结了有效和无效的行数在年底
1条答案
按热度按时间57hvy0tb1#
由于我最近更像是一个管理员,我首先想到的是“随时可用”的东西。;-)
因为我最近安装了Python,并且我记得一个演示文稿,其中ChatGPT生成了一些代码,所以我决定给予一下。它奏效了:
第一条提示:
编写一个Python程序,它将执行以下任务:
1.让我输入一个多行字符串。
1.对于每一行:a.测试行是否包含有效的正则表达式。B.如果正则表达式无效,则输出行号和行内容。
第二条提示:
修改程序,它总结了有效和无效的行数在年底