Regex 1 hoặc 2 chữ cái

Phù hợp với thẻ tín dụng lớn bao gồm. Visa [dài 16, tiền tố 4], Mastercard [dài 16, tiền tố 51-55], Discover [dài 16, tiền tố 6011], American Express [dài 15, tiền tố 34 hoặc 37]. Tất cả các định dạng 16 chữ số đều chấp nhận dấu gạch nối tùy chọn [-] giữa mỗi nhóm bốn chữ số

Trang này cung cấp một cheat sheet tổng thể về tất cả các khả năng của cú pháp RegExp bằng cách tổng hợp nội dung của các bài viết trong hướng dẫn RegExp. Nếu bạn cần thêm thông tin về một chủ đề cụ thể, vui lòng theo liên kết trên tiêu đề tương ứng để truy cập toàn bộ bài viết hoặc đi đến phần hướng dẫn

lớp nhân vật

Các lớp ký tự phân biệt các loại ký tự, chẳng hạn như phân biệt giữa các chữ cái và chữ số

Nhân vậtÝ nghĩa[xyz]
[a-c]

Một lớp nhân vật. Khớp với bất kỳ một trong các ký tự kèm theo. Bạn có thể chỉ định một phạm vi ký tự bằng cách sử dụng dấu gạch nối, nhưng nếu dấu gạch nối xuất hiện dưới dạng ký tự đầu tiên hoặc ký tự cuối cùng nằm trong dấu ngoặc vuông, thì nó được coi là dấu gạch nối theo nghĩa đen để được đưa vào lớp ký tự như một ký tự bình thường

Ví dụ, [abcd] giống như [a-d]. Chúng khớp với "b" trong "brisket" và "a" hoặc "c" trong "arch", nhưng không khớp với "-" [dấu gạch nối] trong "phi lợi nhuận"

Ví dụ: [abcd-][-abcd] khớp với "b" trong "brisket", "a" hoặc "c" trong "arch" và "-" [dấu gạch nối] trong "non-profit"

Ví dụ, [\w-] giống như [A-Za-z0-9_-]. Cả hai đều khớp với bất kỳ ký tự nào trong "no_reply@example-server. com" ngoại trừ "@" và ". "

RegExp0

Một lớp ký tự phủ định hoặc bổ sung. Nghĩa là, nó khớp với bất kỳ thứ gì không được đặt trong ngoặc. Bạn có thể chỉ định một phạm vi ký tự bằng cách sử dụng dấu gạch nối, nhưng nếu dấu gạch nối xuất hiện dưới dạng ký tự đầu tiên hoặc ký tự cuối cùng nằm trong dấu ngoặc vuông, thì nó được coi là dấu gạch nối theo nghĩa đen để được đưa vào lớp ký tự như một ký tự bình thường. Ví dụ: RegExp1 giống như RegExp2. Ban đầu chúng khớp với "o" trong "bacon" và "h" trong "chop"

Ghi chú. Ký tự ^ cũng có thể cho biết phần đầu của đầu vào

RegExp3

Có một trong những ý nghĩa sau

  • Khớp với bất kỳ ký tự đơn nào ngoại trừ các ký tự kết thúc dòng. RegExp4, RegExp5, RegExp6 hoặc RegExp7. Ví dụ: RegExp8 khớp với "my" và "ay", nhưng không khớp với "yes", trong "yes make my day"
  • Bên trong một lớp ký tự, dấu chấm mất đi ý nghĩa đặc biệt của nó và khớp với dấu chấm theo nghĩa đen

Lưu ý rằng cờ nhiều dòng RegExp9 không thay đổi hành vi dấu chấm. Vì vậy, để khớp một mẫu trên nhiều dòng, lớp ký tự RegExp0 có thể được sử dụng — nó sẽ khớp với bất kỳ ký tự nào kể cả các dòng mới

Cờ "dotAll" của RegExp1 cho phép dấu chấm cũng khớp với các dấu kết thúc dòng

RegExp2

Khớp với bất kỳ chữ số nào [chữ số Ả Rập]. Tương đương với RegExp3. Ví dụ: RegExp4 hoặc RegExp5 khớp với "2" trong "B2 là số dãy phòng"

RegExp6

Khớp với bất kỳ ký tự nào không phải là chữ số [chữ số Ả Rập]. Tương đương với RegExp7. Ví dụ: RegExp8 hoặc RegExp9 khớp với "B" trong "B2 là số dãy phòng"

[xyz]
[a-c]
0

Khớp với bất kỳ ký tự chữ và số nào từ bảng chữ cái Latinh cơ bản, bao gồm cả dấu gạch dưới. Tương đương với [xyz]
[a-c]
1. Ví dụ: [xyz]
[a-c]
2 khớp với "a" trong "apple", "5" trong "$5. 28" và "3" trong "3D"

[xyz]
[a-c]
3

Khớp với bất kỳ ký tự nào không phải là ký tự từ trong bảng chữ cái Latinh cơ bản. Tương đương với [xyz]
[a-c]
4. Ví dụ: [xyz]
[a-c]
5 hoặc [xyz]
[a-c]
6 khớp với "%" trong "50%"

[xyz]
[a-c]
7

So khớp với một ký tự khoảng trắng, bao gồm dấu cách, tab, nguồn cấp biểu mẫu, nguồn cấp dòng và các khoảng trắng Unicode khác. Tương đương với [xyz]
[a-c]
8. Ví dụ: [xyz]
[a-c]
9 khớp với " bar" trong "foo bar"

[abcd]0

Khớp với một ký tự không phải là khoảng trắng. Tương đương với [abcd]1. Ví dụ: [abcd]2 khớp với "foo" trong "foo bar"

[abcd]3Khớp với tab ngang. RegExp5Khớp với trả lại vận chuyển. RegExp4Khớp với nguồn cấp dữ liệu. [abcd]6Khớp với tab dọc. [abcd]7Khớp với nguồn cấp dữ liệu biểu mẫu. [abcd]8Khớp với khoảng lùi. Nếu bạn đang tìm ký tự ranh giới từ [[abcd]9], hãy xem Ranh giới. [a-d]0Khớp với một ký tự NUL. Đừng làm theo điều này với một chữ số khác. [a-d]1

So khớp một ký tự điều khiển bằng cách sử dụng ký hiệu dấu mũ, trong đó "X" là một chữ cái từ A–Z [tương ứng với các điểm mã [a-d]2–[a-d]3]. Ví dụ: [a-d]4 khớp với "\r" trong "\r\n"

[a-d]5Khớp ký tự với mã [a-d]6 [hai chữ số thập lục phân]. [a-d]7Khớp đơn vị mã UTF-16 với giá trị [a-d]8 [bốn chữ số thập lục phân]. [a-d]9[Chỉ khi cờ [abcd-]0 được đặt. ] So khớp với ký tự có giá trị Unicode [abcd-]1 hoặc [abcd-]2 [chữ số thập lục phân]. [abcd-]3

Cho biết ký tự sau cần được xử lý đặc biệt hoặc "thoát". Nó hành xử theo một trong hai cách

  • Đối với các ký tự thường được hiểu theo nghĩa đen, biểu thị rằng ký tự tiếp theo là đặc biệt và không được hiểu theo nghĩa đen. Ví dụ: [abcd-]4 khớp với ký tự "b". Bằng cách đặt dấu gạch chéo ngược trước "b", nghĩa là bằng cách sử dụng [abcd-]5, ký tự trở nên đặc biệt để có nghĩa phù hợp với ranh giới từ
  • Đối với các ký tự thường được xử lý đặc biệt, biểu thị rằng ký tự tiếp theo không đặc biệt và nên được hiểu theo nghĩa đen. Ví dụ: "*" là một ký tự đặc biệt có nghĩa là phải khớp với 0 hoặc nhiều lần xuất hiện của ký tự trước đó; . Để khớp với [abcd-]7 theo nghĩa đen, hãy đặt trước nó một dấu gạch chéo ngược;

Lưu ý rằng một số ký tự như [abcd-]9, [-abcd]0, [-abcd]1, v.v. không có ý nghĩa đặc biệt khi thoát hoặc khi không thoát. Các chuỗi thoát như [-abcd]2, [-abcd]3, [-abcd]4 sẽ tương đương với các ký tự tương đương theo nghĩa đen, không thoát của chúng trong các biểu thức chính quy. Tuy nhiên, trong các biểu thức chính quy có cờ unicode, chúng sẽ gây ra lỗi thoát danh tính không hợp lệ. Điều này được thực hiện để đảm bảo khả năng tương thích ngược với mã hiện có sử dụng các chuỗi thoát mới như [-abcd]5 hoặc [-abcd]6

Ghi chú. Để khớp với ký tự này theo nghĩa đen, hãy thoát ký tự đó bằng chính nó. Nói cách khác, để tìm kiếm [abcd-]3, hãy sử dụng [-abcd]8

[-abcd]9

Phân ly. Khớp với "x" hoặc "y". Mỗi thành phần, được ngăn cách bởi một đường ống [______80], được gọi là một thay thế. Ví dụ: [\w-]1 khớp với "green" trong "green apple" và "red" trong "red apple"

Ghi chú. Sự phân tách là một cách khác để chỉ định "một tập hợp các lựa chọn", nhưng nó không phải là một lớp ký tự. Sự tách biệt không phải là nguyên tử — bạn cần sử dụng một nhóm để biến nó thành một phần của mẫu lớn hơn. [\w-]2 có chức năng tương đương với [\w-]3

khẳng định

Các xác nhận bao gồm các ranh giới, cho biết phần đầu và phần cuối của dòng và từ cũng như các mẫu khác cho biết theo một cách nào đó rằng có thể khớp [bao gồm biểu thức nhìn về phía trước, nhìn về phía sau và biểu thức điều kiện]

Xác nhận loại ranh giới

Nhân vậtÝ nghĩa[\w-]4

Khớp với phần đầu của đầu vào. Nếu cờ nhiều dòng được đặt thành đúng, thì cũng khớp ngay sau ký tự ngắt dòng. Ví dụ: [\w-]5 không khớp với chữ "A" trong "an A", nhưng khớp với chữ "A" đầu tiên trong "An A"

Ghi chú. Ký tự này có ý nghĩa khác khi nó xuất hiện ở đầu một lớp ký tự

[\w-]6

Khớp với phần cuối của đầu vào. Nếu cờ nhiều dòng được đặt thành đúng, thì cũng khớp ngay trước ký tự ngắt dòng. Ví dụ: ________ 87 không khớp với chữ "t" trong "water", nhưng lại khớp với nó trong "eat"

[abcd]9

Phù hợp với một ranh giới từ. Đây là vị trí mà một ký tự từ không được theo sau hoặc đi trước bởi một ký tự từ khác, chẳng hạn như giữa một chữ cái và khoảng trắng. Lưu ý rằng ranh giới từ phù hợp không được bao gồm trong từ phù hợp. Nói cách khác, độ dài của ranh giới từ phù hợp bằng không

ví dụ

  • [\w-]9 khớp với "m" trong "moon"
  • [A-Za-z0-9_-]0 không khớp với "oo" trong "moon", bởi vì "oo" được theo sau bởi "n" là một ký tự từ
  • [A-Za-z0-9_-]1 khớp với "oon" trong "moon", vì "oon" là phần cuối của chuỗi, do đó không có ký tự từ theo sau
  • [A-Za-z0-9_-]2 sẽ không bao giờ khớp với bất kỳ thứ gì, bởi vì một ký tự từ không bao giờ có thể được theo sau bởi cả ký tự không phải từ và ký tự từ

Để khớp với một ký tự xóa lùi [_______48], hãy xem Lớp ký tự

[A-Za-z0-9_-]4

Khớp với ranh giới không phải từ. Đây là vị trí mà ký tự trước và sau cùng loại. Cả hai phải là từ hoặc cả hai phải không phải là từ, ví dụ: giữa hai chữ cái hoặc giữa hai khoảng trắng. Phần đầu và phần cuối của một chuỗi được coi là không phải từ. Tương tự như ranh giới từ được khớp, ranh giới không phải từ được khớp cũng không được bao gồm trong kết quả khớp. Ví dụ: [A-Za-z0-9_-]5 khớp với "on" trong "at trưa" và [A-Za-z0-9_-]6 khớp với "ye" trong "có thể là ngày hôm qua"

khẳng định khác

Ghi chú. Ký tự [A-Za-z0-9_-]7 cũng có thể được sử dụng làm định lượng

Nhân vậtÝ nghĩa[A-Za-z0-9_-]8

Xác nhận nhìn trước. Chỉ khớp với "x" nếu "x" được theo sau bởi "y". Ví dụ: /[A-Za-z0-9_-]9 chỉ khớp với "Jack" nếu nó được theo sau bởi "Sprat".
______100 khớp với "Jack" chỉ khi theo sau nó là "Sprat" hoặc "Frost". Tuy nhiên, cả "Sprat" và "Frost" đều không phải là một phần của kết quả trận đấu.

RegExp01

Khẳng định nhìn trước tiêu cực. Chỉ khớp với "x" nếu "x" không được theo sau bởi "y". Ví dụ: RegExp02 chỉ khớp với một số nếu nó không được theo sau bởi dấu thập phân. RegExp03 khớp với "141" chứ không phải "3"

RegExp04

khẳng định nhìn phía sau. Chỉ khớp với "x" nếu "x" đứng trước "y". Ví dụ: RegExp05 chỉ khớp với "Sprat" nếu nó đứng trước "Jack". RegExp06 chỉ khớp với "Sprat" nếu nó đứng trước "Jack" hoặc "Tom". Tuy nhiên, cả "Jack" và "Tom" đều không phải là một phần của kết quả trận đấu

RegExp07

Khẳng định nhìn phía sau tiêu cực. Chỉ khớp với "x" nếu "x" không đứng trước "y". Ví dụ: RegExp08 chỉ khớp với một số nếu nó không có dấu trừ phía trước. RegExp09 phù hợp với "3". Không tìm thấy kết quả khớp RegExp10 vì số này đứng trước dấu trừ

Nhóm và phản hồi

Các nhóm và phản hồi chỉ ra các nhóm ký tự biểu thức

Nhân vậtÝ nghĩaRegExp11

chụp nhóm. So khớp RegExp12 và ghi nhớ trận đấu. Ví dụ: RegExp13 khớp và nhớ "foo" trong "foo bar"

Một biểu thức chính quy có thể có nhiều nhóm chụp. Trong kết quả, khớp với các nhóm chụp thường trong một mảng có các thành viên theo cùng thứ tự với dấu ngoặc đơn bên trái trong nhóm chụp. Đây thường chỉ là thứ tự của các nhóm bắt giữ. Điều này trở nên quan trọng khi các nhóm chụp được lồng vào nhau. Các kết quả phù hợp được truy cập bằng cách sử dụng chỉ mục của các phần tử của kết quả [RegExp14] hoặc từ các thuộc tính của đối tượng RegExp được xác định trước [RegExp16]

Chụp nhóm có một hình phạt hiệu suất. Nếu bạn không cần gọi lại chuỗi con phù hợp, hãy ưu tiên sử dụng dấu ngoặc đơn không bắt giữ [xem bên dưới]

RegExp17 sẽ không trả về nhóm nếu cờ RegExp18 được đặt. Tuy nhiên, bạn vẫn có thể sử dụng RegExp19 để lấy tất cả các trận đấu

RegExp20

Nhóm chụp được đặt tên. Khớp "x" và lưu trữ nó trên thuộc tính nhóm của các kết quả khớp được trả về dưới tên được chỉ định bởi RegExp21. Dấu ngoặc nhọn [RegExp22 và RegExp23] là bắt buộc đối với tên nhóm

Ví dụ: để trích xuất mã vùng của Hoa Kỳ từ một số điện thoại, chúng tôi có thể sử dụng RegExp24. Số kết quả sẽ xuất hiện dưới RegExp25

RegExp26Nhóm không bắt giữ. Khớp "x" nhưng không nhớ khớp. Không thể gọi lại chuỗi con phù hợp từ các phần tử của mảng kết quả [RegExp14] hoặc từ các thuộc tính của đối tượng RegExp được xác định trước [RegExp16]. RegExp30

Trong đó "n" là một số nguyên dương. Tham chiếu ngược đến chuỗi con cuối cùng khớp với dấu ngoặc đơn n trong biểu thức chính quy [tính cả dấu ngoặc đơn bên trái]. Ví dụ: RegExp31 khớp với "táo, cam," trong "táo, cam, anh đào, đào"

\k

Tham chiếu ngược đến chuỗi con cuối cùng khớp với nhóm chụp được đặt tên được chỉ định bởi RegExp21

Ví dụ: RegExp33 khớp với "Sir, yes Sir" trong "Do you copy? Sir, yes Sir. "

Ghi chú. [-abcd]6 được sử dụng theo nghĩa đen ở đây để biểu thị phần đầu của tham chiếu ngược đến nhóm chụp được đặt tên

định lượng

Bộ định lượng cho biết số lượng ký tự hoặc biểu thức cần khớp

Ghi chú. Trong phần sau, mục không chỉ đề cập đến các ký tự đơn lẻ mà còn bao gồm các lớp ký tự, thoát thuộc tính Unicode, nhóm và tham chiếu ngược

Nhân vậtÝ nghĩaRegExp35

Khớp với mục trước "x" 0 hoặc nhiều lần. Ví dụ: RegExp36 khớp với "boooo" trong "A ghost booooed" và "b" trong "A bird warbled", nhưng không khớp với "A con dê càu nhàu"

RegExp37

Khớp với mục trước "x" 1 hoặc nhiều lần. Tương đương với RegExp38. Ví dụ: RegExp39 khớp với chữ "a" trong "candy" và tất cả chữ "a" trong "caaaaaaaandy"

RegExp40

Khớp với mục trước "x" 0 hoặc 1 lần. Ví dụ: RegExp41 khớp với "el" trong "angel" và "le" trong "angle. "

Nếu được sử dụng ngay sau bất kỳ bộ định lượng nào [abcd-]7, RegExp43, [A-Za-z0-9_-]7 hoặc RegExp45, làm cho bộ định lượng không tham lam [khớp với số lần tối thiểu], trái ngược với giá trị mặc định là tham lam [khớp với số lần tối đa]

RegExp46

Trong đó "n" là một số nguyên dương, khớp chính xác với "n" lần xuất hiện của mục trước "x". Ví dụ: RegExp47 không khớp với chữ "a" trong "candy", nhưng nó khớp với tất cả chữ "a" trong "caandy" và hai chữ "a" đầu tiên trong "caaandy"

RegExp48

Trong đó "n" là một số nguyên dương, khớp với ít nhất "n" lần xuất hiện của mục trước "x". Ví dụ: RegExp49 không khớp với chữ "a" trong "candy", nhưng khớp với tất cả chữ a trong "caandy" và trong "caaaaaaandy"

RegExp50

Trong đó "n" là 0 hoặc một số nguyên dương, "m" là một số nguyên dương và RegExp51, khớp với ít nhất "n" và nhiều nhất "m" lần xuất hiện của mục trước "x". Ví dụ: RegExp52 không khớp với "cndy", chữ "a" trong "candy", hai chữ "a" trong "caandy" và ba chữ "a" đầu tiên trong "caaaaaaaandy". Lưu ý rằng khi khớp "caaaaaaaandy", kết quả khớp là "aaa", mặc dù chuỗi ban đầu có nhiều chữ "a" hơn trong đó

RegExp53
RegExp54
RegExp55
RegExp56
RegExp57
RegExp58

By default quantifiers like [abcd-]7 and RegExp43 are "greedy", meaning that they try to match as much of the string as possible. The [A-Za-z0-9_-]7 character after the quantifier makes the quantifier "non-greedy": meaning that it will stop as soon as it finds a match. For example, given a string like "some new thing":

  • RegExp62 will match " new "
  • RegExp63 will match ""

Thuộc tính Unicode thoát

Thoát thuộc tính Unicode cho phép khớp các ký tự dựa trên thuộc tính Unicode của chúng

// Non-binary values
/\p{UnicodePropertyValue}/
/\p{UnicodePropertyName=UnicodePropertyValue}/

// Binary and non-binary values
/\p{UnicodeBinaryPropertyName}/

// Negation: \P is negated \p
/\P{UnicodePropertyValue}/
/\P{UnicodeBinaryPropertyName}/

RegExp64

Tên của thuộc tính nhị phân. e. g. RegExp65, RegExp66, RegExp67, RegExp68, RegExp69, RegExp70, RegExp67, RegExp72, v.v. Xem Danh sách dữ liệu Unicode. txt để biết thêm thông tin

RegExp73

Tên của một thuộc tính không nhị phân

  • Chung_Thể loại [RegExp74]
  • Kịch bản [______175]
  • Script_Extensions [RegExp76]

Xem thêm PropertyValueAliases. txt

RegExp77

Một trong những mã thông báo được liệt kê trong phần Giá trị, bên dưới. Nhiều giá trị có bí danh hoặc tốc ký [e. g. giá trị RegExp78 cho thuộc tính RegExp79 có thể được viết là RegExp80, RegExp81 hoặc RegExp78]. Đối với hầu hết các giá trị, phần RegExp73 và dấu bằng có thể được bỏ qua. Nếu một RegExp73 được chỉ định, giá trị phải tương ứng với loại thuộc tính đã cho

Ghi chú. Vì có nhiều thuộc tính và giá trị có sẵn, chúng tôi sẽ không mô tả chúng một cách thấu đáo ở đây mà sẽ cung cấp các ví dụ khác nhau

Làm cách nào để khớp chỉ 2 ký tự trong regex?

Có một phương pháp để khớp các ký tự cụ thể bằng cách sử dụng biểu thức chính quy, bằng cách xác định chúng bên trong dấu ngoặc vuông . Ví dụ: mẫu [abc] sẽ chỉ khớp với một chữ cái a, b hoặc c và không có gì khác.

Điều này có nghĩa là gì trong regex [[ ]]\ 1?

Tham chiếu ngược \1 [dấu gạch chéo ngược một] tham chiếu nhóm chụp đầu tiên . \1 khớp chính xác cùng một văn bản được khớp bởi nhóm chụp đầu tiên. / trước nó là một ký tự chữ. Nó chỉ đơn giản là dấu gạch chéo về phía trước trong thẻ HTML đóng mà chúng tôi đang cố khớp.

?= * Có nghĩa là gì trong regex?

là một cái nhìn tích cực, một loại xác nhận có độ rộng bằng 0. Ý nghĩa của nó là phần khớp được chụp phải được theo sau bởi bất kỳ phần nào trong dấu ngoặc đơn nhưng phần đó không được chụp . Ví dụ của bạn có nghĩa là trận đấu cần phải được theo sau bởi 0 hoặc nhiều ký tự và sau đó là một chữ số [nhưng một lần nữa, phần đó không được ghi lại].

làm gì. *] Có nghĩa là trong regex?

. means match any character in regular expressions. * means không hoặc nhiều lần xuất hiện của biểu thức chính DUY NHẤT trước nó .

Chủ Đề