正则表达式学习笔记010--子表达式的认识与应用

前端之家收集整理的这篇文章主要介绍了正则表达式学习笔记010--子表达式的认识与应用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式学习笔记010--子表达式的认识与应用

交流群1:251572072 交流群2:170933152

子表达式: ()用2个小括号,括起来的叫做子表达式 如: \d{3,4}([\s|-]?\d{7,8}) 子表达式是从左到右计算的,以(为标准 1.子表达式的原理: 会先匹配整个表达式,然后从匹配的字符串中,再去匹配子表达式里的内容 就是()里的内容,子表达式也可以嵌套,结果是取得最后一个子表达式的 匹配结果 ((.{8,70})(\d{4}-\d{2}-\d{2})) 可以看到,表达式会先取得: 整个表达式的结果: .{8,70}\d{4}-\d{2}-\d{2} 然后匹配:子表达式1的结果:因为是从左到右的 (.{8,70}) 然后匹配:子表达式2的结果:因为是从左到右的 (\d{4}-\d{2}-\d{2}) 最后匹配,最后一个子表达式结果: ((.{8,70})(\d{4}-\d{2}-\d{2})) ------------------------------------- 正则表达式: \d{3,4}[-|\s]?\d{7,8} 待匹配字符串: 020-12345678 1234-1234567 020 12345678 1234 1234567 1231234567 匹配结果: 020-12345678 1234-1234567 020 12345678 1234 1234567 1231234567 ---------------------------- 上面的这个例子,只取号码,不取区号: 可以用子表达式来实现: 正则表达式: \d{3,4}[-|\s]?(\d{7,8}) 待匹配字符串: 020-12345678 1234-1234567 020 12345678 1234 1234567 1231234567 匹配结果: 020-12345678 1234-1234567 020 12345678 1234 1234567 1231234567 ----------------------------------------------

猜你在找的正则表达式相关文章