正則表示式——普通字元組
阿新 • • 發佈:2018-11-10
字元組表示“在同一個位置可能出現的各種字元”, 其寫法是在一對方括號 [ 和 ] 之間列出所有可能出現的字元。
例 1 - 1 判斷數字字元的虛擬碼
charStr == "0" || charStr == "1" ··· || charStr == "9"
這種解法的問題在與太過於煩瑣
例 1 - 2 用正則表示式判斷數字字元
re.search("[0123456789]", charStr) != None // python 使用方法
例1-3 用正則表示式判斷數字字元在各種語言中的應用
1 .NET(C#) 2 //能匹配則返回true,否則返回false3 Regex.IsMatch(charStr, "[0123456789]"); 4 Java 5 //能匹配則返回true,否則返回false 6 charStr.matches("[0123456789]"); 7 JavaScript 8 //能匹配則返回true,否則返回false 9 /[0123456789]/.test(charStr); 10 PHP 11 //能匹配則返回1,否則返回0 12 preg_match("/[0123456789]/", charStr); 13 Python 14 #能匹配則返回RegexObject,否則返回None15 re.search("[0123456789]", charStr) 16 Ruby 17 #能匹配則返回0,否則返回nil 18 charStr =~ /[0123456789]/
例1-4 使用^和$測試string由pattern完整匹配
^和$是正則表示式中的特殊字元,它們並不匹配任何字元,只是表示"定位到字串的起始位置"和"定位到字串的結束位置"
# 只要字串中包含數字字元,就可以匹配 re.search("[0123456789]", "2") != None # => True re.search("^[0123456789]$", "12") != None #=> False re.search("[0123456789]", "a2") != None # => True # 整個字串就是一個數字字元,才可以匹配 re.search("[0123456789]", "2") != None # => True re.search("^[0123456789]$", "12") != None # => False re.search("^[0123456789]$", "a2") != None # => False