javascript - js正则的小问题
PHP中文网
PHP中文网 2017-04-11 12:24:14
[JavaScript讨论组]
/#+?\w+/

#后面有两个修饰符,+代表一个或多个,?表示0个或一个,我想问+和?都是修饰#吗?还是说修饰符也可以用来修饰 修饰符,即?修饰+号

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
高洛峰

谢谢解答。网上找了资料看了下,简单总结:
正则表达式的贪婪与非贪婪匹配

  如:

String str="abcaxc";

    Patter p="ab*c";

  贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。

  非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。

编程中如何区分两种模式

  默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。

  量词:

{m,n}:m到n个

     *:任意多个

     +:一个到多个

     ?:0或一个
ringa_lee

+?好像是用来将贪婪匹配改成非贪婪的吧。

PHP中文网

+?就是最少匹配原则(非贪婪模式)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号