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

作者: JackBaska (Baska)   2016-03-08 08:54:03
※ 引述《opengood5566 ( )》之銘言:
: 正規表達式
: \w代表著字母和數字和_
: \d代表數字
: 但如果要表達非數字的字母 可以[a-zA-Z] 但總覺得不簡潔
: 請問有比較好的表達 非數字的字母嗎?
: 感謝
單純分享我的一個做法 , 不過先聲明我是在R把這段完成了
python我對函數方法使用熟練度還在練 , 所以還沒寫
我在R的做法是寫一個parse給 reg exp , 做這件事情 函數
大概長這樣:
f(codi = "A,B" , switch = T)
大概會做的事情是把 , A B 兩個字串條件轉譯成 regular Exp
要吃的 or 形式 , switch 是決定是要有這些條件或是沒有這些
條件的內容
以這個概念我在function下面建立了一個parser,會將字串重組
並加入reg 需要的指令符號然後重新返回reg裡面 , 以這個概念
為例原po的問題可以寫好後在裡面做一個parser跟關鍵字判斷
如收到'*/aEn'跟 '*/AEn'還有 '*/AaEn' 或 '*/aAEn'分別
parse成大寫/小寫/大小寫 英文的reg形式 [a-z] [A-Z] [a-zA-Z]
(大小寫條件這裡沒差用aA 跟Aa只是預期自己後續編程一定會
偷懶亂打)
所以以後使用reg變成 , reg(parser(codition string)),這不
是真實語法只是概念
感覺這麼好像沒有省到,但省的是後續,因為我的case是大量,可能
要在幾十萬比甚至更多的資料裡面撈一些關鍵字還有段落,需要導
入各種條件字串還有包不包括的訊息,所以我會覺得建立這樣一個
parser是有他的效益在的,但若是單純coding縮減這麼做其實沒啥
效益我承認
希望對原po有幫助
順便問一下,有沒有人知道python有沒有辦法處理模糊查詢跟同意
同音的功能 ? 或是有沒有人在github上看過有人分享的 ? 還是要
自己刻 ?
作者: ResolaQQ (ResolaQQ)   2016-03-08 11:21:00
不知道你要的模糊查詢是啥,我用過Levenshtein是算兩個字串的distance,你也可以上PyPI找找看重新想想,比對和查詢好像不太一樣,忽略掉我說的好了XD
作者: JackBaska (Baska)   2016-03-08 17:30:00
我之後有一些字詞會有模糊邏輯問題,如果有套件能幫我回傳是否 '意思相近' 那我可以把他的結果導進我寫的func幫我做reg 比對
作者: MOONY135 (談無慾)   2016-03-08 18:51:00
感覺有像漢明距離又不像

Links booklink

Contact Us: admin [ a t ] ucptt.com