java正则表达式非贪婪_正则表达式中的贪婪与非贪婪匹配模式

1.首先看看下面的例子:

try{

str="

abcdefg

abcdefghijkl

";

re1=str.match(/

[\W\w]+?/ig);

alert("非贪婪模式:\r\n\r\n1:"+re1[0]+"\r\n2:"+re1[1]);

re1=str.match(/

[\W\w]+/ig);

alert("贪婪模式:\r\n\r\n"+re1);

re1=str.match(/

(.+?)/i);

alert("非贪婪模式,且不要标记:\r\n\r\n1:"+re1[1]);

re1=str.match(/

(.+)/i);

alert("贪婪模式,且不要标记:\r\n\r\n"+re1[1]);

}catch(e){alert(e.description)}

匹配次数中的贪婪与非贪婪

在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:"{m,n}", "{m,}", "?", "*", "+",具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。比如,针对文本 "dxxxdxxxd",举例如下:

表达式

匹配结果

"\w+" 将匹配第一个 "d" 之后的所有字符 "xxxdxxxd"

"\w+" 将匹配第一个 "d" 和最后一个 "d" 之间的所有字符 "xxxdxxx"。虽然 "\w+" 也能够匹配上最后一个 "d",但是为了使整个表达式匹配成功,"\w+" 可以 "让出" 它本来能够匹配的最后一个 "d"

更多的情况,举例如下:

举例1:表达式 "

(.*)" 与字符串 "

aa

bb

" 匹配时,匹配的结果是:成功;匹配到的内容是 "

aa

bb

" 整个字符串, 表达式中的 "" 将与字符串中最后一个 "" 匹配。

举例2:相比之下,表达式 "

(.*?)" 匹配举例1中同样的字符串时,将只得到 "

aa

", 再次匹配下一个时,可以得到第二个 "

bb

"。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python编程运算符号-Python中的逻辑运算符

参考资料:http://blog.csdn.net/sasoritattoo/article/details/12451359 一、逻辑判断词not 1.在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法&#xf…

代码实现tan graph model for classification_自定义 Estimator 实现(以BERT为例)

本文将主要介绍tensorflow 的Estimator 这个高级API,它的主要作用就是提出一个高级范式(paradigm),将模型的训练,验证,预测,以及保存规范起来,免去了tensorflow的Session.run 的操作…

Linux查看文件内容

cat 一次性将文件内容全部输出到控制台 more 可以翻页查看 空格:下翻一页 b:上翻一页 q:退出 less 可以翻页查看 空格:下翻一页 b:上翻一页 q:退出 向上键:上翻一行 向下键&#xff1…

刷新页面微信二维码图片随机换,点击按钮自动复制对应微信号

<div style"text-align: center;"> <p style"font-size: 18px;color: rgb(255, 79, 121);">添加微信号</p> <span style"font-size: 18px;margin-left: 10%;" id"cod">jyl88jimei</span><br /> &…

SecureCRT向多个tab窗口发命令

可以利用SecureCRT的 Chat Windows选项Send chat to all tabs来同时在服务器上执行相同的命令&#xff0c;具体步骤如下&#xff1a; 一、首先在SecureCRT里同时打开多个服务器session 二、选择菜单栏View -->Chat Windows 对号&#xff0c;此时所有服务器连接下方应该有个…

英雄联盟怎么解除小窗口_英雄联盟手游怎么加好友_英雄联盟手游怎么加好友一起玩_资讯...

英雄联盟手游是腾讯联合英雄联盟开发商拳头开发的英雄联盟手游。不仅能够高度还原端游的经典操作和竞技体验&#xff0c;也具有非常多创新的元素&#xff0c;对于英雄联盟的全球生态布局具有重要意义。英雄联盟手游游戏中有非常多的英雄可以供玩家选择&#xff0c;并且拥有排位…

jfinal mysql 配置文件_JFinal 如何将操作日志存入到数据库中

展开全部操作日志, 也分粗细颗粒.比如常见的 配置JFinal的Handler, 配置LogHandler的处理器&#xff0c;Handler可以接管所有web请求, 这里可以做粗颗粒的处理, 对每一个请62616964757a686964616fe59b9ee7ad9431333365653839求做入库处理, 如果访问量大时, 入库操作做列队处理就…

快速入门python_一天快速入门 Python

Python 是由Guido Van Rossum在 90 年代早期设计&#xff0c;现在是最常用的编程语言之一。特别是人工智能的火热&#xff0c;再加之它的语法简洁且优美&#xff0c;实乃初学者入门AI必备的编程语言。作者 | yuquanle责编 | 屠敏Python基本语法标识符第一个字符必须是英文字母或…

Sonar与jenkins集成

2019独角兽企业重金招聘Python工程师标准>>> 参考文档&#xff1a;http://blog.csdn.net/kefengwang/article/details/54377055 一.下载&#xff1a;wget https://fossies.org/linux/misc/sonarqube-7.0.zip 二.配置sonar.properties ## sudo vim /opt/sonarqube-6.…

python变量和常量_5、python的变量和常量

今天看看python的变量和常量&#xff0c;这是python中最基本的两个概念。首先先说一下解释器执行Python的过程&#xff1a; python3 C:\test.py1. 启动python解释器(内存中)2. 将C:\test.py内容从硬盘读入内存(这一步与文本编辑器是一样的)3. 执行读入内存的代码如果想要永久…

eplan连接定义点不显示_EPLAN电气图实例--控制柜(控制面板)

EPLAN电气图实例--控制柜(控制面板)上期回顾(上期主要画了硬件的布局图)&#xff1a;这期主要画一个控制面板控制柜布局1.0 上期主要做了一个长方形的结构板&#xff0c;里面插入了一个结构盒&#xff0c;然后放置一个HMI的宏(这里是KTP1000&#xff0c;在官网随便找下就行了)&…

virtualbox安装android6.0并设置分辨率为1920x1080x32

下载安装&#xff1a;https://www.cnblogs.com/wynn0123/p/6288344.html 这里我做的是下载android6.0-64bit&#xff0c;然后文件系统只支持ext4 安装完成之后我的虚拟机名称是Android6.0 设置分辨率为1920x1080x32&#xff1a;https://my.oschina.net/xldc/blog/290155 首先&a…

python中装饰器修复技术_python3之装饰器修复技术@wraps

普通函数def f():"""这是一个用来测试装饰器修复技术的函数"""print("哈哈哈")if __name__ __main__:print("执行的函数名:", f.__name__)print("函数的注释:", f.__doc__)# 打印结果执行的函数名: f函数的注释:…

markdown 语法_markdown特殊语法之上下标

markdown特殊语法之上下标​markdown的基本语法很简单&#xff0c;百度一下就可以了&#xff0c;有空的话我再转载一些过来。我想的是平常其实需要用到的一些输入技巧&#xff0c;特殊用法或者扩展语法&#xff0c;还有一些难点倒是要记录学习一下。在写作的时候&#xff0c;大…

oracle安装向导卡住了_JDK 8 的安装与配置

一、安装环节1. 打开网页https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2.找到对象的版本 尽量从官网下载(官网可能会比较慢&#xff0c;也可以通过浏览器输入jdk版本号进行下载)官网下载需要注册一个账号3.双击下载的 exe,如 jdk-8u131-windows…

Error contacting service. It is probably not running.

安装完zookeeper集群后&#xff0c; [rootzk1 data]# zkServer.sh start JMX enabled by default Using config: /application/zookeeper-3.3.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [rootzk1 data]# zkServer.sh status JMX enabled by default Using config…

JavaScript 函数节流 throttle 和防抖 debounce

今天和别人聊到JavaScript函数的节流和防抖&#xff0c;发现自己对这两个的区别很是模糊&#xff0c;遂小小实践一下&#xff0c;在此记录&#xff0c;希望对需要的人有所帮助。 节流 - 频繁操作&#xff0c;间隔一定时间去做一件事 举例说明&#xff1a;假定时间间隔为 500ms&…

python 第三方绘图库_D3py首页、文档和下载 - 基于 D3 的 Python 绘图库 - OSCHINA - 中文开源技术交流社区...

D3py 是一个基于 D3 的 Python 绘图库&#xff0c;可以像 D3 那样画出可交互的漂亮图形。D3py 的目的是把来自命令行或者脚本的数据画到浏览器窗口&#xff0c;d3py 通过构建两个优秀的包来实现这一点。 第一个是 d3.js(Mike Bostock)&#xff0c;它是一个用于创建数据驱动文档…

web 前端 如何分享到instagram_如何找到靠谱的Web培训机构?web前端培训机构哪个好?...

现如今Web前端开发应用越来越广泛&#xff0c;Web前端工程师人才需求逐年递增&#xff0c;薪资待遇也是水涨船高&#xff0c;也因此吸引了越来越多的人想要迈入Web前端行业&#xff0c;参加Web前端培训是很多人选择学习前端开发技能的途径&#xff0c;那么Web前端培训机构哪个好…

java main 命令行_java Main 命令行

CLI 即Command Line Interface&#xff0c;也就是"命令行接口"&#xff0c;它为Java 程序访问和解析命令行参数提供了一种统一的接口。apache Commons CLI为用户提供了一个解释命令行的API.它在解释命令行时主要有三个状态&#xff0c;即&#xff1a;定义、解释和询问…