Python編程- 查找ABAC和AABB形式的成語。例如: '''繪聲繪影、相親相愛、平平安安、高高興興'''
- 查了一些資料后使用正則表達式來解決會比較容易
import re #正則表達式的庫
text = '''繪聲繪影、相親相愛、平平安安、高高興興'''
# 從左往右數每一個括號代表了一個正則表達式的子模式,\3代表的是此處匹配的項與子模式3相同,即ABAC
pattern = r'(((.).\3.)|((.)\5(.)\6))'
#findall函數作用是返回包含字符串中所有與給定模式匹配的項的列表
for i in re.findall(pattern,text):
print(i[0])
```
- 切記切記,進行正規式匹配時,不要被代碼習慣誤導,一定不要加空格!!!
```python
pattern = r'( ( (.).\3. ) | ( (.)\5(.)\6 ) )' #error!!!
```
##踩了不少坑,希望能給大家一些幫助。