正则表达式小结

()、[]、{}的区别

圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理
示例:
1、(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一均可,顺序也必须一致
2、(abc)?,表示这一组要么一起出现,要么不出现,出现则按此组内的顺序出现

方括号[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[s*]表示空格或者*号。

大括号{}一般用来表示匹配的长度,比如 s{3} 表示匹配三个空格,s{1,3}表示匹配一到三个空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

注意:

. 特殊字符在中括号表达式时 如 [.] 只会匹配 .字符,等价于 .,而非匹配除换行符   外的所有字符。

^ 和 [^指定字符串] 之间的区别:

^ 指的是匹配字符串开始的位置

[^指定字符串] 指的是除指定字符串以外的其他字符串

(^[0-9])+     //匹配有一至多个数字的字符串组合
[^[0-9]]+  // 匹配有一至多个不含数字的字符串组合


原文地址:https://www.cnblogs.com/xiangkejin/p/9283852.html