老师,这两个分组是一样的,为什么不引用呢

来源:4-5 email邮箱

宝慕林4199460

2019-07-02 22:59:15


http://img.mukewang.com/climg/5d1b714000018a4509330238.jpg

写回答

1回答

好帮手慕慕子

2019-07-03

同学你好,因为我们获取邮箱的时候, 不需要保存匹配的文本(也就是子组里面的内容),所以使用了非捕获型分组(?:)表示不引用分组,让整个表达式的效率提高。

老师这里给同学举个简单的对比示例, 帮助同学理解

  1. 使用捕获型分组

    http://img.mukewang.com/climg/5d1c14820001c34802890122.jpg

    打印结果

    http://img.mukewang.com/climg/5d1c14c90001a6c109200077.jpg

  2. 使用捕获型分组

    http://img.mukewang.com/climg/5d1c14e20001217d03310124.jpg

    打印结果

    http://img.mukewang.com/climg/5d1c14f4000192e007700085.jpg

综上, 如果只需要使用括号的分组或者读选结构的功能,而没有用到引用分组(获取小括号里面的内容),则应当尽量使用非捕获型括号

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


0

0 学习 · 14456 问题

查看课程