ダン・クァン・ミン Blog

はじめまして

JavaScript RegExp Reference

Một biểu thức chính quy là một chuỗi các ký tự tạo thành một mẫu tìm kiếm.

Một mẫu tìm kiếm có thể được sử dụng cho tìm kiếm văn bản và thay thế text trong văn bản.

What Is a Regular Expression?

Khi bạn tìm kiếm dữ liệu trong văn bản, có thể sử dụng mẫu tìm kiếm này để miêu tả cái đang tìm kiếm.

Một biểu thức chính quy có thể là một ký tự, hoặc có thể là môt mẫu phức tạp.

Biểu thức chính quy có thể được sử dụng để thực hiện xử lý tìm kiếm và thay thế văn bản.

Syntax

/pattern/modifiers;

Example:

var patt = /w3schools/i

Example explained:

  • /w3schools/i là một biểu thức chính quy
  • w3schools là một mẫu (to be used in a search).
  • i là một modifier (modifies the search to be case-insensitive).

Using String Methods

In JavaScript, regular expressions are often used with the two string methods: search() and replace().

The search() method uses an expression to search for a match, and returns the position of the match.

The replace() method returns a modified string where the pattern is replaced.

Using String search() With a Regular Expression

Example use a regular expression to do a case-insensitive search for “w3schools” in a string:

var str = "Visit W3Schools";
var n = str.search(/w3schools/i);

The result in n will be: 6

Using String search() With String

Example use a case insensitive regular expression to replace Microsoft with W3Schools in a string:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3Schools");

The result in res will be: Visit W3Schools!

Using String replace() With a String

The replace() method will also accept a string as search argument:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "W3Schools");

RegExp Object

A regular expression is an object that describes a pattern of characters.

Regular expressions are used to perform pattern-matching and “search-and-replace” functions on text.

Syntax

/pattern/modifiers;

Example:

var patt = /w3schools/i

Modifiers

Modifiers are used to perform case-insensitive and global searches:

Modifier        Description
i               Bật chế độ tìm kiếm phân biệt hoa thường
g               Bật chế độ tìm kiếm toàn cục (nếu không thì sẽ chỉ tìm kiếm kết quả đầu tiên)
m               bật chế độ tìm kiếm trên nhiều dòng

Brackets

Cặp ngoặc được dùng để tìm kiếm một dải ký tự:

Expression      Description
[abc]           1 ký tự a hoặc b hoặc c
[^abc]          1 ký tự nào đó khác a,b,c (ví dụ d)
[0-9]           1 ký tự số từ 0 đến 9
[^0-9]          1 ký tự số không phải từ 0 đến 9
(x|y)           1 ký tự hoặc là x hoặc là y

Metacharacters

Metacharacters are characters with a special meaning:

Metacharacters  Description
.               Find a single character, except newline or line terminator
\w              Find a word character
\W              Find a non-word character
\d              Find a digit
\D              Find a non-digit character
\s              Find a whitespace character
\S              Find a non-whitespace character
\b              Find a match at the beginning/end of a word
\B              Find a match not at the beginning/end of a word
\0              Find a NUL character
\n              Find a new line character
\f              Find a form feed character
\r              Find a carriage return character
\t              Find a tab character
\v              Find a vertical tab character
\xxx            Find the character specified by an octal number xxx
\xdd            Find the character specified by a hexadecimal number dd
\uxxxx          Find the Unicode character specified by a hexadecimal number xxxx

Quantifiers

Quantifier      Description
n+              Matches any string that contains at least one n
n*              Matches any string that contains zero or more occurrences of n
n?              Matches any string that contains zero or one occurrences of n
n{X}            Matches any string that contains a sequence of X n's
n{X,Y}          Matches any string that contains a sequence of X to Y n's
n{X,}           Matches any string that contains a sequence of at least X n's
n$              Matches any string with n at the end of it
^n              Matches any string with n at the beginning of it
?=n             Matches any string that is followed by a specific string n
?!n             Matches any string that is not followed by a specific string n

RegExp Object Properties

Property        Description
constructor     Returns the function that created the RegExp object's prototype
global          Checks whether the "g" modifier is set
ignoreCase      Checks whether the "i" modifier is set
lastIndex       Specifies the index at which to start the next match
multiline       Checks whether the "m" modifier is set
source          Returns the text of the RegExp pattern

RegExp Object Methods

Method          Description
compile()       Deprecated in version 1.5. Compiles a regular expression
exec()          Tests for a match in a string. Returns the first match
test()          Tests for a match in a string. Returns true or false
toString()      Returns the string value of the regular expression

Comments