1. 程式人生 > >正則表示式中(括號) [方括號] {大括號}的區別

正則表示式中(括號) [方括號] {大括號}的區別

之前遇到要用正則判斷輸入字串的小需求中遇到了問題,連續的字串不知道怎麼判斷。
如郵箱結尾的.com .cn .net等。

於是乎查閱資料:

括號() : 括號是多個匹配,它把括號內的當做一組來處理,限制一些多選的範圍,比如上面的需求只能是com cn net結尾的用括號就是最好的選擇。
括號能提取字串,如(com|cn|net)就可以限制,只能是com或cn或net。
括號將括號裡面的內容作為一組,這就是與[]不同的地方。

方括號[]: 方括號是單個匹配,如[abc]他限制的不是abc連續出現,而是隻能是其中一個,這樣寫那麼規則就是找到這個位置時只能是a或是b或是c;
方括號是正則表示式中最常用的,常用的用法有:[a-zA-Z0-9]匹配所有英文字母和數字,[^a-zA-Z0-9]匹配所有非英文字母和數字。

大括號{}: 大括號的用法很簡單,就是匹配次數,它需要和其他有意義的正則表示式一起使用。
比如[a-c]{2}意思就是匹配a-c之間的一個字母出現且只出現兩次;
比如(com){1}意思就是com必須出現一次
比如\W{1,3}意思就是非字母數字最少出現一次最多出現3次。

小結:正則表示式看起來很複雜但是學起來感覺一個順序從左到右感覺又很容易,雖然正則表示式很容易懂,但是想要靈活應用卻不容易。