這篇教學文專門說明 Python `re` 模組裡的 ignore-case 寫法,並且用 `IloConnectProcessStep` 當主例子。
重點先講在前面:
1. `flags=re.I` 會讓整條 regex 都忽略大小寫。
2. `(?i)` 也是全域 ignore-case,但必須放在整條 pattern 最前面。
3. `(?i:…)` 是區域 ignore-case,只影響括號裡那一段。
4. `re.search(r’IloConnect(?i)…’)` 在 Python 3.11 會報錯,因為 bare `(?i)` 不能放在 pattern 中間。
—
## 1. 最基本的例子:把 `IloConnectProcessStep` 切成 `iloconnect`
import re
text = "IloConnectProcessStep"
pattern = r'(?i)(process|step).*$'
result = re.sub(pattern, '', text).strip().lower()
print("原始字串:", text)
print("pattern :", pattern)
print("結果 :", result)