4. 编写程序利用正则表达式判断用户输入的中文字符串是否符合AABB或ABAC形式的成语。 测试数据 输入:快快乐乐 输出:符合 输入:一起努力 输出:不符合 输入:一心一意 输出:符合
时间: 2024-12-13 19:16:26 浏览: 7
在Python中,你可以使用正则表达式库`re`来编写这样的程序。首先,你需要定义一个正则模式来匹配AABB或ABAC形式的成语。对于AABB和ABAC,我们可以分别创建两个模式:
```python
import re
# 定义AABB模式
aabb_pattern = r"([一二三四五六七八九十]+) ([一二三四五六七八九十]+)"
# 定义ABAC模式
abac_pattern = r"([一二三四五六七八九十]+) ([一二三四五六七八九十]+) ([一二三四五六七八九十]+)"
def check_chinese_idiom(input_str):
# 检查AABB
if re.match(aabb_pattern, input_str):
print("符合")
# 检查ABAC
elif re.match(abac_pattern, input_str):
print("符合")
else:
print("不符合")
# 测试数据
check_chinese_idiom("快快乐乐") # 符合
check_chinese_idiom("一起努力") # 不符合
check_chinese_idiom("一心一意") # 符合
```
这个函数会检查输入字符串是否匹配AABB或ABAC模式,如果匹配,就输出“符合”,否则输出“不符合”。
阅读全文