为了账号安全,请及时绑定邮箱和手机立即绑定

如何使正则表达式变为非贪婪?

如何使正则表达式变为非贪婪?

我正在使用jQuery。我有一个带有特殊字符块的字符串(开头和结尾)。我想从特殊字符块中获取文本。我使用正则表达式对象进行字符串内查找。但是当有两个或两个以上特殊字符时,如何告诉jQuery查找多个结果?我的HTML:<div id="container">    <div id="textcontainer">     Cuộc chiến pháp lý giữa [|cơ thử|nghiệm|] thị trường [|test2|đây là test lần 2|] chứng khoán [|Mỹ|day la nuoc my|] và ngân hàng đầu tư quyền lực nhất Phố Wall mới chỉ bắt đầu.    </div></div>和我的JavaScript代码:$(document).ready(function() {  var takedata = $("#textcontainer").text();  var test = 'abcd adddb';  var filterdata = takedata.match(/(\[.+\])/);  alert(filterdata);   //end write js });我的结果是:[|cơthử|nghiệm|]thịtrường[| test2 |đâylàtestlần2 |]chứngkhoán[|Mỹ| day la nuoc my |]。但这不是我想要的结果:(。如何获取时间1的[文本]和时间2的[演示]?我在互联网^^上搜索信息后才完成工作。我编写如下代码:var filterdata = takedata.match(/(\[.*?\])/g);我的结果是:[|cơthử|nghiệm|],[| test2 |đâylàtestlần2 |] 这是对的!但是我不太明白 你能回答我为什么吗?
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

非贪婪的正则表达式修饰符就像它们的贪婪对应部分一样,但?紧随其后的是:


*  - zero or more

*? - zero or more (non-greedy)

+  - one or more

+? - one or more (non-greedy)

?  - zero or one

?? - zero or one (non-greedy)


查看完整回答
反对 回复 2019-10-06
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

我相信会是这样


takedata.match(/(\[.+\])/g);

在g末意味着全球性的,所以它不会在第一场比赛停止。


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 560 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信