1. 程式人生 > >正則表示式:小括號、中括號、大括號的區別

正則表示式:小括號、中括號、大括號的區別

一、小括號()、中括號[]、大括號的區別

 1>. 小括號():匹配小括號內的字串,可以是一個,也可以是多個,常跟“|”(或)符號搭配使用,是多選結構的

  示例1:string name = "way2014";  regex:(way|zgw)  result:結果是可以匹配出way的,因為是多選結構,小括號是匹配字串的

  示例2:string text = "123456789";  regex:(0-9) result:結果是什麼都匹配不到的,它只匹配字串"0-9"而不是匹配數字, [0-9]這個字元組才是匹配0-9的數字

 2>.中括號[]:匹配字元組內的字元,比如咱們常用的[0-9a-zA-Z.*?!]等,在[]內的字元都是字元,不是元字元,比如“0-9”、“a-z”這中間的“-”就是連線符號,表示範圍的元字元,如果寫成[-!?*(]這樣的話,就是普通字元

  示例1: string text = "1234567890";  regex:[0-9]  result:結果是可以匹配出字串text內的任意數字了,像上邊的【或符號“|”在字元組內就是一個普通字元】

  示例2:string text = "a|e|s|v";  regex:[a|e|s]  result:結果就是匹配字元a、e、|三個字元,這個跟(a|e|s)有區別的,區別就是(a|e|s)匹配的是a、e、s三個字元的隨意一個,三個中的任意一個,這是的|是元字元

 3>.大括號{}:匹配次數,匹配在它之前表示式匹配出來的元素出現的次數,{n}出現n次、{n,}匹配最少出現n次、{n,m}匹配最少出現n次,最多出現m次