4. 编写程序利用正则表达式判断用户输入的中文字符串是否符合AABB或ABAC形式的成语
时间: 2024-12-13 18:16:02 浏览: 14
在Python中,你可以使用正则表达式库`re`来编写程序判断用户输入的中文字符串是否符合"AABB"或"ABAC"形式的成语。这里是一个简单的示例:
```python
import re
def is_chinese_idiom(input_str):
# 匹配AABB形式
pattern_aabb = r'^([^\u4e00-\u9fa5]+)\s+([^\u4e00-\u9fa5]+)\s+\1\s+\2$'
# 匹配ABAC形式
pattern_abac = r'^([^\u4e00-\u9fa5]+)\s+([^\u4e00-\u9fa5]+)\s+([^\u4e00-\u9fa5]+)\s+\1\s+\3$'
if re.match(pattern_aabb, input_str, re.U): # U表示忽略大小写
return "AABB 形式的成语"
elif re.match(pattern_abac, input_str, re.U):
return "ABAC 形式的成语"
else:
return "不是成语"
# 用户输入测试
user_input = input("请输入一个中文成语(格式:AABB 或 ABAC): ")
print(is_chinese_idiom(user_input))
```
这个函数会检查输入字符串是否匹配"AABB"或"ABAC"的形式,并返回相应的结果。注意,这只是一个基础实现,实际应用中可能需要更复杂的正则表达式来处理更多的成语结构。
阅读全文