2025-01-09 17:24:02 +08:00
|
|
|
import regex
|
2024-12-24 10:21:27 +08:00
|
|
|
|
2025-01-09 17:24:02 +08:00
|
|
|
# 新的正则表达式
|
|
|
|
begin_pattern = regex.compile(
|
|
|
|
r'^第[一二三四五六七八九十百千]+(?:章|部分).*(?:投标人?|磋商|谈判|供应商|应答人|比选申请人).*须知+|'
|
|
|
|
r'(?<!见\s*)(?<!与\s*)(?<!"\s*)(?<!"\s*)(?<!"\s*)(?:投标人?|磋商|谈判|供应商|应答人|比选申请人).*须知前附表\s*$',
|
|
|
|
regex.MULTILINE
|
|
|
|
)
|
2024-12-24 10:21:27 +08:00
|
|
|
|
2025-01-09 17:24:02 +08:00
|
|
|
# 测试文本
|
|
|
|
test_texts = [
|
|
|
|
"第一章 投标人 须知", # 匹配
|
|
|
|
"第九章 磋商 123 须知", # 匹配
|
|
|
|
"第十章 谈判一些内容须知", # 匹配
|
|
|
|
"第二章 投标人123abc须知前附表", # 匹配
|
|
|
|
"第一部分 供应商\n须知", # 不匹配,因为有换行
|
|
|
|
"第八章 其他内容须知" # 不匹配
|
|
|
|
]
|
2024-12-24 10:21:27 +08:00
|
|
|
|
2025-01-09 17:24:02 +08:00
|
|
|
# 测试匹配
|
|
|
|
for idx, text in enumerate(test_texts):
|
|
|
|
match = begin_pattern.search(text)
|
|
|
|
print(f"Test case {idx + 1}: {'Matched' if match else 'Not Matched'}")
|