Tôi đang sử dụng jQuery. Tôi có một chuỗi với một khối các ký tự đặc biệt (bắt đầu và kết thúc). Tôi muốn có được văn bản từ khối ký tự đặc biệt đó. Tôi đã sử dụng một đối tượng biểu thức chính quy để tìm trong chuỗi. Nhưng làm thế nào tôi có thể bảo jQuery tìm nhiều kết quả khi có hai ký tự đặc biệt trở lên?
HTML của tôi:
<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>
và mã JavaScript của tôi:
$(document).ready(function() {
var takedata = $("#textcontainer").text();
var test = 'abcd adddb';
var filterdata = takedata.match(/(\[.+\])/);
alert(filterdata);
//end write js
});
Kết quả của tôi là: [| cơ try to | nghiệm |] thị trường [| test2 | here is thử nghiệm lần 2 |] security [| Mỹ | ngày la nuoc tôi |] . Nhưng đây không phải là kết quả tôi muốn :(. Làm thế nào để có được [văn bản] cho lần 1 và [bản demo] cho lần 2?
Tôi vừa hoàn thành công việc của mình sau khi tìm kiếm thông tin trên internet ^^. Tôi tạo mã như thế này:
var filterdata = takedata.match(/(\[.*?\])/g);
- kết quả của tôi là: [| xông vào | hạ |], [| test2 | miếng là thử nghiệm 2 |] điều này đúng!. nhưng tôi không thực sự hiểu điều này. Bạn có thể trả lời tại sao của tôi?
?
theo cách riêng của nó 'một hoặc không' (nhưng là tham lam!). Ví dụ'bb'.replace(/b?/, 'a') //'ab'
và'bb'.replace(/c?/, 'a') //'abb'