gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:14:17 27 4
gpt4 key购买 nike

我正在使用 jQuery。我有一个带有特殊字符 block (开始和结束)的字符串。我想从那个特殊字符 block 中获取文本。我使用正则表达式对象进行字符串查找。但是当有两个或更多特殊字符时,如何告诉 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|đây là test lần 2|] chứng khoán [|Mỹ|day la nuoc my|] 。但这不是我想要的结果:(。如何获得时间 1 的 [text] 和时间 2 的 [demo]?


我刚刚在网上搜索信息后完成了我的工作^^。我编写这样的代码:

var filterdata = takedata.match(/(\[.*?\])/g);
  • 我的结果是:[|cơ thử|nghiệm|],[|test2|đây là test lần 2|]这是正确的!。但我真的不明白这一点。你能回答我的原因吗?

最佳答案

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

*  - zero or more
*? - zero or more (non-greedy)
+ - one or more
+? - one or more (non-greedy)
? - zero or one
?? - zero or one (non-greedy)

关于javascript - 如何使正则表达式变为非贪婪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com