Hoặc là : Alternation (OR)
Hoặc là : Alternation (OR) |
Ví dụ, chúng ta cần tìm ngôn ngữ lập trình: HTML, PHP, Java hoặc JavaScript.
let regexp = /html|php|css|java(script)?/gi;
let str = "First HTML appeared, then CSS, then Java JavaScript";
alert( str.match(regexp) ); // 'HTML', 'CSS', 'Java','JavaScript'
gr[ae]ykhớp grayhoặc grey.
gr(a|e)ycó nghĩa là giống hệt như gr[ae]y.
gra|eynghĩa là grahoặc ey.
Các ví dụ:
//1. viết biểu thức có C++ (chưa hoạt động)
var regexp = /Java|JavaScript|PHP|C|C\+\+/g;
var str = "Java, JavaScript, PHP, C, C++";
alert( str.match(regexp) ); // Java,Java,PHP,C,C
//2. viết biểu thức có C++ (hoạt động)
var regexp = /Java(Script)?|C(\+\+)?|PHP/g;
var str = "Java, JavaScript, PHP, C, C++";
alert( str.match(regexp) ); // Java,JavaScript,PHP,C,C++
//3. Tìm các cặp bbtag
var regexp = /\[(b|url|quote)].*?\[\/\1]/gs;
var str = `
[b]hello![/b]
[quote]
[url]http://google.com[/url]
[/quote]
`;
alert( str.match(regexp) ); // [b]hello![/b],[quote][url]http://google.com[/url][/quote]
//3.1 giải thích
//Thẻ mở là \[(b|url|quote)].
//Sau đó, để tìm mọi thứ cho đến thẻ đóng - hãy sử dụng mẫu .*?có cờ sđể khớp với bất kỳ ký tự nào bao gồm cả dòng mới và sau đó thêm tham chiếu ngược vào thẻ đóng.
// \[(b|url|quote)\].*?\[/\1]Các mô hình đầy đủ :.
//4.0 thời gian
var regexp = /([01]\d|2[0-3]):[0-5]\d/g;
alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59