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