發表文章

目前顯示的是有「regexp」標籤的文章

regexp small note

常用工具所使用的正規引擎 引擎類型 程式 DFA awk(大多數)、egrep(大多數)、flex、lex、MySQL、Procmail NFA GNU Emacs、Java、grep、less、more、.NET、Python、Ruby、PHP、sed \x #以十六進制表示 [0-9] == [\x30-\x39] 當用來判斷中文時很好用 找特殊字元的兩種方法 一般找'-'字元時是輸入"\-"來找,但因為大部份的程式語言中re是以字串的方式來處理的,所以要輸入"\\-"(程式語言碰到"\\"時會逸出成'\'),所以最後送出的是"\-"或是使用原生字串(Raw String)(並不是每個程式語言都支援) r"^[0\-a]$" == "^[0\\-a]$" '['當一個字元時必需要用'\'。']'則可用可不用'\'(用了比較不會跟'['造成配對問題),用比較好。 re.search(r"^[abc$","[abc") != None #程式出錯,只有'['沒有對應的']' re.search(r"^\[abc$","[abc") != None#True 必需用'\ ' re.search(r"^abc\]$","abc]") != None#True 可用'\' re.search(r"^abc]$","abc]") != None #True 可不用'\' 關於逸出 正規表達的方式 語言 原生字串(Raw String) 正規文字 一般字串(兩次逸出) Python r"regex" X O Ruby 'regex' /regex/ O C# @"regex" X O VB.NET "regex" X O JavaScri...