邊界匹配器:
邊界匹配器
^ 行的開頭
$ 行的結尾
\b 單詞邊界
\b 非單詞邊界
精確地查詢hi這個單詞的話,我們應該使用\bhi\b,要不然的話history也會查詢出來的,即\b是單詞邊界,\bhi\b.*\blucy\b的意思:先是乙個單詞hi,然後是任意個任意字元(但不能是換行),最後是lucy這個單詞。
元字元^和$都匹配乙個位置,這和\b有點類似。^匹配你要用來查詢的字串的開頭,$匹配結尾。這兩個**在驗證輸入的內容時非常有用,比如乙個**如果要求你填寫的qq號必須為5位到12位數字時,可以使用:^\d$。如123456是6位,在5到12為之間,就匹配成功,1234567890123是13為,如果說不用^和$作為邊界的話,只擷取其中一部分也成功匹配,這顯然是不對的!因為使用了^和$,所以輸入的整個字串都要用來和\d來匹配,也就是說整個輸入必須是5到12個數字
,這裡的和前面介紹過的是類似的,只不過匹配只能不多不少重複2次,則是重複的次數不能少於5次,不能多於12次
預定義字元類:
.
任何字元(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9]
\d 非數字: [^0-9]
\s 空白字元:[ \t\n\x0b\f\r] :匹配任意的空白符,包括空格,製表符(tab),換行符,中文全形空格
\s 非空白字元:[^\s]
\w 單詞字元:[a-za-z_0-9] :這裡的單詞是指:字母或數字或下劃線或漢字
\w 非單詞字元:[^\w]
\d是個新的元字元,匹配一位數字.例如0\d\d-\d\d\d\d\d\d\d\d,一般寫成0\d-\d更好看一些,-不是元字元,只匹配它本身
正規表示式的一些匹配規則
大部分字元在正規表示式中,就是字面的含義,比如 a 匹配 a,b 匹配b。這種只表示它字面量含義的被稱為字面量字元。除了字面量,還有一些字元有特殊含義,不代表字面意思,被稱為元字元 1,點字元 點字元匹配除回車 r 換行 n 行分隔符 u2028 和分段符 u2029 之外的所有字元 注 碼點大於0...
一些正規表示式
要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...
一些正規表示式
判斷是否是正整數if isnan paramvalue paramvalue 0 else 金額的格式判斷輸入金額的要求 整數字最多十位,小數為最多為兩位,可以無小數字 0 9 1 9 0 9 0 9 function checkmoney str 0 9 if re.test str else 手...