-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathregExp.html
More file actions
69 lines (63 loc) · 3.71 KB
/
regExp.html
File metadata and controls
69 lines (63 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Javascript regular expression</title>
</head>
<body>
<pre>
- regular expression là một chuỗi các character tạo nên một search pattern. Khi ta muốn tìm kiếm dữ liệu trong 1 string ta có thể dùng search pattern này
để mô tả dữ lệu chúng ta đang muốn tìm. Một regular expression có thể chỉ là 1 single character hoặc là 1 pattern phức tạp.Regular express
có thể được dùng cho tất cả các dạng text search và text replace.
- Cú pháp: /pattern/modifier;
Ví dụ: var patt = /jsmind/i;
Trong đó: /jsmind/i là 1 regular expression
jsmind: là pattern
i: là modifier cho phép tìm kiếm case-sensitive
- Trong javascript regular expression thường được sử dụng với các method của string để phục vụ cho việc tìm kiếm và thay thế string.
2 methods thường được dùng với regular expression là:
+ search(searchValue): Tìm kiếm 1 string trong 1 string và trả về vị trí tìm thấy đầu tiên.
+ replace(searchValue, newValue): Tìm và thay thế string trong 1 string và trả về string sau khi thay thế.
searchValue trong 2 method trên có thể là string hoặc là regular expression (nếu là string sẽ được convert tự động sang regular expression khi thực thi).
- Regular Expression Modifier:modiefier được dùng để thực hiện tìm kiếm case-sesitive hoặc tìm kiếm global.
+ i: Tìm kiếm case-sensitive.
+ g: Tìm kiếm global, thông thường khi tìm kiếm được 1 match đầu tiên thì sẽ dừng lại.
+ m: multiline matching.
- Regular Expression Pattern: Cái này là cái phức tạp phết đây
+ bracket: Dùng để tìm 1 range các ký tự.
* [abc]: Tìm bất kỳ ký tự, khoảng ký tự nào trong khoảng dấu []
* [0-9]: Tìm bất kỳ số nào trong khoảng từ 0 đến 9
* (x|y): Tìm bất kỳ cái nào match x hoặc y
+ metacharacters: là các ký tự với ý nghĩa đặc biệt.
* \d: Tìm 1 digit
* \s: Tìm 1 space
* \b: Tím 1 match ở begin hoặc end của 1 word.
* \uxxxx: Tìm 1 ký tự unicode xác định bằng mã hexa xxxx\
+ Quantifier: là tìm kiếm theo số lượng
* \n+: Tìm bất kỳ string nào chứa ít nhất MỘT n
* \n*: Tìm bất ký string nào chứa không hoặc nhiều n
* \n?: Tìm bất kỳ string nào chứa 0 hoặc 1 n
- Sử dụng Regular expression object: Trong javascript regular expression là 1 regular expression object với các properties và methods được
định nghĩa trước.
+ test(): Tìm 1 string theo 1 pattern và trả về true nếu tìm thấy.
+ exec(): Tìm 1 string theo 1 pattern và trả về string mà nó tìm thấy.
</pre>
<script>
var str = 'Welcome to jsMind at website jsmind.net';
var search = str.search(/jsmind/i); // search case-sensitive
var replace = str.replace(/jsmind/gi,'congngheanninh');// search global and case-sesitive
console.log('search found at: ', search);
console.log('new string: ', replace);
function bracket() {
var great = 'Welcome to jsMind at website jsmind.net';
var result = document.getElementById('result');
var p1 = /[jsm]/gi;
var s = great.search(p1);
result.innerHTML = s;
console.log('s: ', s);
}
</script>
<button onclick="bracket()">bracket</button> <br />
Result: <div id="result"></div>
</body>
</html>