Re: [問題] 正規表達式 有好方法表達 非數字的字母嗎已刪文

看板Python作者 (be pythonic!)時間8年前 (2016/03/07 13:04), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《opengood5566 ( )》之銘言: : 正規表達式 : \w代表著字母和數字和_ : \d代表數字 : 但如果要表達非數字的字母 可以[a-zA-Z] 但總覺得不簡潔 : 請問有比較好的表達 非數字的字母嗎? : 感謝 騙些p幣 ascii 字串的話是可以 [^\W\d_] (NOT non-word, digit or underscore) 但沒有比較簡潔 而且 NOT 算子的效率疑似較差 至於如果字串是 unicode 而且你的 python 是 3.x 的話 那還是乖乖用 [a-zA-Z] 吧 因為 python 3 預設支援 unicode 包括 re 模組也是 所以 \w 也會 match 到 unicode 字元 測試範例如下(python 3.4 @ win7 x64 eclipse PyDev) ============================================ import re str_test = "a1_B2_測試" a = re.compile(r"[a-zA-Z]") print(a.sub("X", str_test)) # X1_X2_測試 b = re.compile(r"[^\W\d_]") print(b.sub("X", str_test)) # X1_X2_XX ============================================ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.245.65.135 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1457327065.A.5C2.html

03/07 15:44, , 1F
r"(?i)[a-z]"
03/07 15:44, 1F
文章代碼(AID): #1MtGlPN2 (Python)
討論串 (同標題文章)
文章代碼(AID): #1MtGlPN2 (Python)