14.使用懒惰匹配查找字符

说明

在正则表达式中,greedy贪婪匹配找到符合正则表达式模式的字符串的最长可能部分,并将其作为匹配返回。

替代方案称为lazy懒惰匹配,它找到符合正则表达式模式的字符串的最小可能部分。

 

你可以将正则表达式/t[a-z]*i/应用于字符串"titanic"

这个正则表达式基本上是以t开始的模式,以i结尾,并且之间有一些字母。

 

正则表达式是默认的是greedy贪婪匹配,所以匹配将返回["titani"]

它可以找到最大的子字符串,以符合该模式。

 

但是,你可以使用?字符将其更改为lazy懒惰匹配。

titanic”匹配调整后的/t[a-z]*?i/正则表达式会返回["ti"]


练习

修正正则表达式/<.*>/以返回HTML标签<h1>而不是文本"<h1>Winter is coming</h1>"

记住正则表达式中的通配符.可匹配任何字符。

  • result变量应该是一个包含<h1>的数组。
var html = '<h1>Winter is coming</h1>';
var regular = /change/;
var result = html.match(regular);

答案

方法描述
正则表达式正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
match() 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
特别字符描述
*匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
.匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。
var html = '<h1>Winter is coming</h1>';
// var regular = /<h1>/;
let regular = /<[.h1]*>/;
var result = html.match(regular);
result;

运行结果

["<h1>"] 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值