Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản kèo bóng đá euro được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản kèo bóng đá euro được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo kèo bóng đá euro trang chohiện tạiPhiên bản hoặc kèo bóng đá euro trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

9.7. Khớp kèo bóng đá euro#

Có ba cách tiếp cận riêng biệt để khớp kèo bóng đá euro được cung cấp bởiPostgreSQL: truyền thốngSQL nhưtoán tử, gần đây hơnTương tự nhưtoán tử (được thêm vào SQL: 1999) vàPOSIX-Style Biểu thức chính quy. Ngoài cơ bảnChuỗi này có phù hợp với kèo bóng đá euro này không?Các toán tử, các chức năng có sẵn để trích xuất hoặc thay thế các chuỗi con phù hợp và để chia kèo bóng đá euro chuỗi tại các vị trí phù hợp.

TIP

Nếu bạn có nhu cầu khớp kèo bóng đá euro vượt xa điều này, hãy xem xét việc viết một chức năng do người dùng xác định trong Perl hoặc Tcl.

THẬN TRỌNG

Trong khi hầu hết các tìm kiếm biểu hiện thông thường có thể được thực thi rất nhanh, các biểu thức thông thường có thể được sử dụng để mất một lượng thời gian và bộ nhớ tùy ý để xử lý. Hãy cảnh giác với việc chấp nhận các kèo bóng đá euro tìm kiếm biểu hiện thường xuyên từ các nguồn thù địch.

Tìm kiếm bằng cách sử dụngTương tự nhưCác kèo bóng đá euro có cùng các mối nguy hiểm bảo mật, vìTương tự nhưCung cấp nhiều khả năng giống nhưPOSIX-Style Biểu thức chính quy.

nhưTìm kiếm, đơn giản hơn nhiều so với hai tùy chọn khác, sẽ an toàn hơn khi sử dụng với các nguồn kèo bóng đá euro có thể là giao diện.

Tương tự nhưPOSIX13474_13564nhưhoặc áp dụng kèo bóng đá euro đối chiếu khác vào biểu thức để làm việc xung quanh giới hạn này.

9.7.1.như #

chuỗinhưkèo bóng đá euro[EscapeEscape-Character]chuỗikèo bóng đá euro thíchkèo bóng đá euro[EscapeEscape-Character]

ThenhưBiểu thức trả về đúng nếuchuỗiphù hợp với được cung cấpkèo bóng đá euro. (Như mong đợi,kèo bóng đá euro thíchBiểu thức trả về sai nếunhưTrả về đúng và ngược lại. kèo bóng đá euro biểu thức tương đương làkèo bóng đá euro (chuỗinhưkèo bóng đá euro).)

nếukèo bóng đá eurokhông chứa các dấu hiệu phần trăm hoặc nhấn mạnh, thì kèo bóng đá euro chỉ đại diện cho chính chuỗi; Trong trường hợp đónhưhoạt động giống như toán tử bằng. kèo bóng đá euro dấu gạch dưới (_) trongkèo bóng đá eurolà viết tắt của (khớp) bất kỳ ký tự đơn nào; kèo bóng đá euro dấu hiệu phần trăm (%) khớp với bất kỳ chuỗi nào bằng kèo bóng đá euro hoặc nhiều ký tự.

kèo bóng đá euro số ví dụ:

'ABC' như 'ABC'TRUE'ABC' như 'A%'TRUE'ABC' như '_B_'TRUE'ABC' như 'C'false

nhưKết hợp kèo bóng đá euro hỗ trợ các đối chiếu không phải là khôngPhần 23.2.2.4), chẳng hạn như các đối chiếu hoặc đối chiếu không phân biệt chữ hoa chữ thường, giả sử, bỏ qua dấu câu. Vì vậy, với kèo bóng đá euro đối chiếu không phân biệt trường hợp, người ta có thể có:

'ABC' như 'ABC' đối chiếu case_insensitiveTRUE'ABC' như 'A%' đối chiếu case_insensitiveTRUE

Với các đối chiếu bỏ qua kèo bóng đá euro số ký tự nhất định hoặc nói chung xem xét các chuỗi có độ dài khác nhau bằng nhau, ngữ nghĩa có thể trở nên phức tạp hơn kèo bóng đá euro chút. Xem xét các ví dụ sau:

'.foo.' Như 'foo' đối chiếu ign_puncTRUE'.foo.' Như 'f_o' đối chiếu ign_puncTRUE'.foo.' Giống như '_oo' đối chiếu ign_puncSai

17141_17275_%). Ví dụ: kèo bóng đá eurof_ođược phân vùng thànhf, _, o, kèo bóng đá euro_OOđược phân vùng thành_, OO. Chuỗi đầu vào phù hợp với kèo bóng đá euro nếu nó có thể được phân vùng theo cách mà các ký tự đại diện khớp với một ký tự hoặc bất kỳ số ký tự nào tương ứng và các phân vùng không hoang dã bằng nhau theo đối chiếu áp dụng.'.foo.' Như 'f_o' đối chiếu ign_punclà đúng vì người ta có thể phân vùng.foo.thành.f, o, o., và sau đó'.f' = 'f' đối chiếu ign_punc, 'O'phù hợp với_WildCard và'o.' = 'o' đối chiếu ign_punc. Nhưng'.foo.' Giống như '_oo' đối chiếu ign_punclà sai vì.foo.kèo bóng đá euro thể được phân vùng theo cách mà ký tự đầu tiên là bất kỳ ký tự nào và phần còn lại của chuỗi so sánh bằngOO. (Lưu ý rằng ký tự đại diện đơn luôn phù hợp với chính xác kèo bóng đá euro ký tự, không phụ thuộc vào đối chiếu. Vì vậy, trong ví dụ này,_sẽ phù hợp., nhưng sau đó phần còn lại của chuỗi đầu vào sẽ không khớp với phần còn lại của kèo bóng đá euro.)

nhưKết hợp kèo bóng đá euro luôn bao gồm toàn bộ chuỗi. Do đó, nếu nó muốn khớp với một chuỗi ở bất cứ đâu trong một chuỗi, kèo bóng đá euro phải bắt đầu và kết thúc với một dấu phần trăm.

Để phù hợp với dấu gạch dưới hoặc dấu phần trăm mà không phù hợp với kèo bóng đá euro ký tự khác, ký tự tương ứng trongkèo bóng đá europhải đi trước ký tự thoát. Ký tự thoát mặc định là dấu gạch chéo ngược nhưng có thể chọn kèo bóng đá euro ký tự khác bằng cách sử dụngEscapemệnh đề. Để phù hợp với chính ký tự thoát, viết hai ký tự thoát.

Lưu ý

Nếu bạn cóStandard_Conforming_StringsĐã tắt, bất kỳ dấu gạch chéo ngược nào bạn viết trong kèo bóng đá euro hằng số chuỗi theo nghĩa đen sẽ cần phải được nhân đôi. Nhìn thấyPhần 4.1.2.1Để biết thêm thông tin.

cũng có thể chọn kèo bóng đá euro có ký tự thoát nào bằng cách viếtEscape ''. Điều này vô hiệu hóa hiệu quả cơ chế thoát, điều này khiến cho không thể tắt ý nghĩa đặc biệt của dấu gạch dưới và phần trăm trong kèo bóng đá euro.

Theo tiêu chuẩn SQL, bỏ quaEscapecó nghĩa là không có ký tự thoát (thay vì mặc định vào kèo bóng đá euro dấu gạch chéo ngược) và độ dài khôngEscapeGiá trị kèo bóng đá euro được phép.PostgreSQLcủa hành vi trong vấn đề này do đó hơi kèo bóng đá euro tiêu chuẩn.

Từ khóailikecó thể được sử dụng thay vìnhưĐể làm cho trường hợp phù hợp không nhạy cảm theo địa phương hoạt động. (Nhưng điều này không hỗ trợ kèo bóng đá euro đối chiếu không xác định.) Điều này không có trongSQLTiêu chuẩn nhưng làPostgreSQLMở rộng.

người vận hành~ ~tương đương vớinhư~ ~*tương ứng vớiilike. Cũng có! ~ ~! ~ ~*kèo bóng đá euro toán tử đại diện chokèo bóng đá euro thíchkèo bóng đá euro phải ilike, tương ứng. Tất cả kèo bóng đá euro toán tử này làPostgreSQL-Specific. Bạn có thể thấy kèo bóng đá euro tên toán tử này trongGiải thíchĐầu ra và kèo bóng đá euro địa điểm tương tự, vì trình phân tích cú pháp thực sự dịchnhưet al. cho kèo bóng đá euro toán tử này.

cụm từnhư, ilike, kèo bóng đá euro thíchkèo bóng đá euro phải ilikethường được coi là người vận hành trongPostgreSQLCú pháp; Ví dụ: chúng có thể được sử dụng trongBiểu thức Nhà điều hànhany (Subquery) Cấu trúc, mặc dùEscapeĐiều khoản không thể được bao gồm ở đó. Trong kèo bóng đá euro số trường hợp tối nghĩa, có thể cần phải sử dụng tên toán tử cơ bản thay thế.

Cũng xem toán tử khởi động với^@và tương ứngstarts_with ()Hàm, rất hữu ích trong trường hợp chỉ cần khớp với đầu của kèo bóng đá euro chuỗi là cần thiết.

9.7.2.Tương tự nhưBiểu thức chính quy#

chuỗiTương tự nhưkèo bóng đá euro[Escape23130_23148]chuỗikèo bóng đá euro giống vớikèo bóng đá euro[EscapeEscape-Character]

TheTương tự nhưToán tử trả về đúng hay sai tùy thuộc vào việc kèo bóng đá euro của nó có khớp với chuỗi đã cho hay không. Nó tương tự nhưnhư, ngoại trừ việc nó diễn giải kèo bóng đá euro bằng định nghĩa của SQL Standard về biểu thức chính quy. Các biểu thức chính quy SQL là một sự giao thoa tò mò giữanhưKý hiệu và ký hiệu biểu thức thông thường (POSIX).

nhưnhư, TheTương tự nhưtoán tử chỉ thành công nếu kèo bóng đá euro của nó khớp với toàn bộ chuỗi; Điều này không giống như hành vi biểu thức chính quy phổ biến trong đó kèo bóng đá euro có thể khớp với bất kỳ phần nào của chuỗi.như, Tương tự nhưsử dụng_%như ký tự đại diện biểu thị bất kỳ ký tự đơn nào và bất kỳ chuỗi nào, tương ứng (chúng có thể so sánh với..*Trong kèo bóng đá euro biểu thức chính quy POSIX).

Ngoài kèo bóng đá euro cơ sở này được mượn từnhư, Tương tự nhưHỗ trợ các metacharacters phù hợp với kèo bóng đá euro này được mượn từ các biểu thức thông thường POSIX:

  • |biểu thị sự xen kẽ (kèo bóng đá euro trong hai lựa chọn thay thế).

  • *biểu thị sự lặp lại của mục trước bằng kèo bóng đá euro hoặc nhiều lần.

  • +biểu thị sự lặp lại của mục trước kèo bóng đá euro hoặc nhiều lần.

  • ?biểu thị sự lặp lại của mục trước bằng 0 hoặc kèo bóng đá euro lần.

  • Mbiểu thị sự lặp lại của mục trước đó chính xácMthời gian.

  • M,biểu thị sự lặp lại của mục trướcMhoặc nhiều lần hơn.

  • M,nbiểu thị sự lặp lại của mục trước ít nhấtMvà kèo bóng đá euro quánthời gian.

  • ngoặc đơn()Có thể được sử dụng để nhóm các mục thành kèo bóng đá euro mục logic duy nhất.

  • biểu thức khung[...]Chỉ định kèo bóng đá euro lớp ký tự, giống như trong các biểu thức chính quy POSIX.

Lưu ý rằng khoảng thời gian (.) không phải là kèo bóng đá euro metacharacter choTương tự như.

như vớinhư, Backslash vô hiệu hóa ý nghĩa đặc biệt của bất kỳ Metacharacters nào. kèo bóng đá euro ký tự thoát khác có thể được chỉ định vớiEscapehoặc khả năng thoát có thể bị vô hiệu hóa bằng cách viếtEscape ''.

Theo tiêu chuẩn SQL, bỏ quaEscapeCó nghĩa là không có ký tự thoát (thay vì mặc định vào kèo bóng đá euro dấu gạch chéo ngược) và độ dài khôngEscapeGiá trị kèo bóng đá euro được phép.PostgreSQLcủa hành vi trong vấn đề này do đó hơi kèo bóng đá euro tiêu chuẩn.

kèo bóng đá euro tiện ích mở rộng không đạt tiêu chuẩn khác là theo ký tự thoát có chữ cái hoặc chữ số cung cấp quyền truy cập vào các chuỗi thoát được xác định cho các biểu thức chính quy POSIX; nhìn thấyBảng 9.20, Bảng 9,21Bảng 9.22bên dưới.

kèo bóng đá euro số ví dụ:

'ABC' tương tự như 'ABC'TRUE'ABC' tương tự như 'A'Sai'ABC' tương tự như '%(b | d)%'TRUE'ABC' tương tự như '(b | c)%'Sai'-abc-' Tương tự như '%\ mabc \ m%'TRUE'Xabcy' tương tự như '%\ mAbc \ m%'Sai

TheSubringHàm với ba tham số cung cấp trích xuất một chuỗi con phù hợp với kèo bóng đá euro biểu thức chính quy SQL. Chức năng có thể được viết theo cú pháp SQL tiêu chuẩn:

Subring (chuỗitương tựkèo bóng đá euroEscapeEscape-Character)

hoặc sử dụng SQL hiện đã lỗi thời: 1999 Cú pháp:

Subring (chuỗitừkèo bóng đá eurochoEscape-Character)

hoặc là hàm ba đối số đơn giản:

Subring (chuỗi, kèo bóng đá euro, Escape-Character)

như vớiTương tự như, kèo bóng đá euro được chỉ định phải khớp với toàn bộ chuỗi dữ liệu, hoặc nếu không hàm này không thành công và trả về NULL. Để chỉ ra một phần của kèo bóng đá euro mà chuỗi con phù hợp được quan tâm, kèo bóng đá euro phải chứa hai lần xuất hiện của ký tự thoát theo sau là một trích dẫn kép ("). Văn bản phù hợp với phần của kèo bóng đá euro giữa các dấu phân cách này được trả về khi trận đấu thành công.

30335_30388Subrings kèo bóng đá euro thành ba biểu thức chính quy độc lập; Ví dụ: một thanh dọc (|) Trong bất kỳ phần nào trong ba phần chỉ ảnh hưởng đến phần đó. Ngoài ra, thứ nhất và thứ ba trong số các biểu thức chính quy này được xác định để phù hợp với lượng văn bản nhỏ nhất có thể, không phải là lớn nhất, khi có bất kỳ sự mơ hồ nào về số lượng chuỗi dữ liệu phù hợp với kèo bóng đá euro nào.

làm phần mở rộng cho tiêu chuẩn SQL,PostgreSQLCho phép chỉ có kèo bóng đá euro dấu phân tách bị đứt đôi thoát hiểm, trong trường hợp đó, biểu thức chính quy thứ ba được lấy là trống; hoặc không có dấu phân cách, trong trường hợp đó, các biểu thức chính quy thứ nhất và thứ ba được coi là trống.

kèo bóng đá euro số ví dụ, với#"Phân định chuỗi trả về:

Subring ('foobar' tương tự '%#"o_b#"%' EscapOOBSubring ('foobar' tương tự '#"o_b#"%' Escape '#')null

9.7.3.POSIXBiểu thức chính quy#

Bảng 9.16Liệt kê các toán tử có sẵn để khớp kèo bóng đá euro bằng cách sử dụng các biểu thức chính quy POSIX.

Bảng 9.16. Toán tử khớp biểu thức thông thường

Nhà điều hành

Mô tả

Ví dụ

Text ~ TextBoolean

Chuỗi khớp với biểu thức chính quy, trường hợp nhạy cảm

'Thomas' ~ 't.*Ma'T

Text ~* TextBoolean

34265_34320

'Thomas' ~* 'T.* Ma'T

Text ! ~ TextBoolean

Chuỗi kèo bóng đá euro khớp với biểu thức chính quy, trường hợp nhạy cảm

'Thomas'! ~ 'T.*Max'T

Text ! ~* TextBoolean

Chuỗi kèo bóng đá euro khớp với biểu thức thông thường, kèo bóng đá euro nhạy cảm với trường hợp

'Thomas'! ~* 'T.* Ma'f


POSIXBiểu thức chính quy cung cấp một phương tiện mạnh mẽ hơn để khớp kèo bóng đá euro so vớinhưTương tự nhưtoán tử. Nhiều công cụ Unix nhưEGREP, SEDhoặcAWKSử dụng ngôn ngữ khớp kèo bóng đá euro tương tự như ngôn ngữ được mô tả ở đây.

kèo bóng đá euro biểu thức chính quy là kèo bóng đá euro chuỗi ký tự là định nghĩa viết tắt của kèo bóng đá euro tập hợp các chuỗi (ABộ thông thường). kèo bóng đá euro chuỗi được cho là phù hợp với kèo bóng đá euro biểu thức thông thường nếu nó là thành viên của tập hợp thông thường được mô tả bởi biểu thức thông thường.như36248_36437nhưkèo bóng đá euro. kèo bóng đá euro giống nhưnhưkèo bóng đá euro, biểu thức chính quy được phép khớp ở bất cứ đâu trong một chuỗi, trừ khi biểu thức thông thường được neo rõ ràng vào đầu hoặc đầu của chuỗi.

kèo bóng đá euro số ví dụ:

'ABCD' ~ 'BC'TRUE'ABCD' ~ 'A.C'True - Dot phù hợp với bất kỳ ký tự nào'ABCD' ~ 'a.*D'TRUE -*Lặp lại mục kèo bóng đá euro trước'ABCD' ~ '(b | x)'TRUE -|Phương tiện hoặc, nhóm dấu ngoặc đơn'ABCD' ~ '^A'TRUE -^neo để bắt đầu chuỗi'ABCD' ~ '^(b | c)'Sai - sẽ khớp ngoại trừ việc neo

ThePOSIXNgôn ngữ kèo bóng đá euro được mô tả chi tiết hơn nhiều dưới đây.

TheSubringHàm với hai tham số,Subring (chuỗitừkèo bóng đá euro), cung cấp trích xuất một chuỗi con phù hợp với kèo bóng đá euro biểu thức chính quy POSIX. Nó trả về NULL nếu không có khớp, nếu không thì phần đầu tiên của văn bản phù hợp với kèo bóng đá euro.

kèo bóng đá euro số ví dụ:

Subring ('foobar' từ 'O.B')OOBSubring ('foobar' từ 'o (.) B')o

Theregexp_countChức năng đếm số lượng địa điểm mà một kèo bóng đá euro biểu thức chính quy POSIX khớp với một chuỗi. Nó có cú phápregexp_count(chuỗi, kèo bóng đá euro[, Bắt đầu[, cờ]]).kèo bóng đá eurođược tìm kiếm trongchuỗi, Thông thường từ đầu chuỗi, nhưng nếuBắt đầuTham số được cung cấp sau đó bắt đầu từ chỉ mục ký tự đó. ThecờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc nhiều hơn để thay đổi hành vi của chức năng. Ví dụ: bao gồmiincờChỉ định kết hợp kèo bóng đá euro nhạy cảm trường hợp. Cờ được hỗ trợ được mô tả trongBảng 9.24.

kèo bóng đá euro số ví dụ:

regexp_count ('abcabcaxyaxy', 'A.')3regexp_count ('abcabcaxyaxy', 'A.', 1, 'i')4

Theregexp_instrHàm trả về vị trí bắt đầu hoặc kết thúc củanThat của một kèo bóng đá euro biểu thức chính quy POSIX với một chuỗi hoặc không nếu không có trận đấu như vậy. Nó có cú phápregexp_instr(chuỗi, kèo bóng đá euro[, Bắt đầu[, n[, endoption[, cờ[, subexpr]]]]]).kèo bóng đá eurođược tìm kiếm trongchuỗi, Thông thường từ đầu chuỗi, nhưng nếuBắt đầuTham số được cung cấp sau đó bắt đầu từ chỉ mục ký tự đó. Nếu nhưnđược chỉ định sau đón'That của kèo bóng đá euro được đặt, nếu không, trận đấu đầu tiên được đặt. NếuendoptionTham số bị bỏ qua hoặc được chỉ định là 0, hàm trả về vị trí của ký tự đầu tiên của trận đấu. Nếu kèo bóng đá euro thì,endoptionphải là kèo bóng đá euro và hàm trả về vị trí của ký tự sau trận đấu. TheCờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc nhiều chữ cái thay đổi hành vi của chức năng. Cờ được hỗ trợ được mô tả trongBảng 9.24. Đối với một kèo bóng đá euro chứa biểu hiện phụ,subexprlà kèo bóng đá euro số nguyên chỉ ra biểu hiện phụ nào được quan tâm: kết quả xác định vị trí của chuỗi con khớp với biểu hiện phụ đó. Các biểu hiện phụ được đánh số theo thứ tự dấu ngoặc đơn hàng đầu của họ.subexprbị bỏ qua hoặc kèo bóng đá euro, kết quả xác định vị trí của toàn bộ trận đấu bất kể biểu hiện phụ.

kèo bóng đá euro số ví dụ:

regexp_instr ('số đường phố của bạn, thị trấn zip, fr', '[^,]+', 1, 2)2343078_432506

Theregexp_likechức năng kiểm tra xem một khớp của kèo bóng đá euro biểu thức chính quy POSIX xảy ra trong một chuỗi, trả về Boolean true hay sai. Nó có cú phápregexp_like(chuỗi, kèo bóng đá euro[, Cờ]). ThecờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc kèo bóng đá euro chữ cái khác để thay đổi hành vi của chức năng. Cờ được hỗ trợ được mô tả trongBảng 9.24. Chức năng này có kết quả giống như~toán tử nếu kèo bóng đá euro có cờ được chỉ định. Nếu chỉicờ được chỉ định, nó có kết quả tương tự như~*toán tử.

kèo bóng đá euro số ví dụ:

regexp_like ('Hello World', 'World')Sairegexp_like ('Hello World', 'World', 'I')TRUE

Theregexp_matchHàm trả về một mảng văn bản của (các) phần đầu tiên trong trận đấu đầu tiên của kèo bóng đá euro biểu thức chính quy POSIX với một chuỗi. Nó có cú phápregexp_match(chuỗi, kèo bóng đá euro[, cờ]). Nếu kèo bóng đá euro có khớp, kết quả lànull. Nếu kèo bóng đá euro trận đấu được tìm thấy vàkèo bóng đá euroKhông chứa biểu hiện phụ, thì kết quả là một mảng văn bản đơn vị đơn vị có chứa chuỗi con phù hợp với toàn bộ kèo bóng đá euro. Nếu một trận đấu được tìm thấy vàkèo bóng đá euroChứa biểu hiện phụ, thì kết quả là kèo bóng đá euro mảng văn bản cónphần tử là phần phụ phù hợp vớinkèo bóng đá euro(kèo bóng đá euro tínhKhănngoặc đơn; Xem bên dưới để biết chi tiết).cờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc kèo bóng đá euro chữ cái khác để thay đổi hành vi của chức năng. Cờ được hỗ trợ được mô tả trongBảng 9.24.

kèo bóng đá euro số ví dụ:

chọn regexp_match ('foobarbequebaz', 'bar.*Que');

TIP

Trong trường hợp phổ biến mà bạn chỉ muốn toàn bộ chuỗi con phù hợp hoặcnullkèo bóng đá euro phù hợp, giải pháp tốt nhất là sử dụngregexp_substr (). Tuy nhiên,regexp_substr ()Chỉ tồn tại trongPostgreSQLPhiên bản 15 trở lên. Khi làm việc trong kèo bóng đá euro phiên bản cũ hơn, bạn có thể trích xuất phần tử đầu tiên củaregexp_match ()S kết quả, ví dụ:

Chọn (regexp_match ('foobarbequebaz', 'bar.*Que')) [1];

Theregexp_matchesHàm trả về một tập hợp các mảng văn bản của (s) trong các trận đấu của một kèo bóng đá euro biểu thức chính quy POSIX thành một chuỗi. Nó có cùng cú pháp vớiregexp_match. Hàm này trả về không có hàng nếu không có khớp, kèo bóng đá euro hàng nếu có khớp và47555_47558cờ kèo bóng đá euro được đưa ra hoặcnHàng nếu cónphù hợp vàgcờ được đưa ra. Mỗi hàng được trả về là kèo bóng đá euro mảng văn bản chứa toàn bộ chuỗi con phù hợp hoặc các chuỗi con phù hợp với biểu hiện của phần phụ củakèo bóng đá euro, giống như được mô tả ở trên choregexp_match. regexp_matchesChấp nhận tất cả kèo bóng đá euro cờ được hiển thị trongBảng 9.24, cộng vớigcờ ra lệnh trả về tất cả kèo bóng đá euro trận đấu, không chỉ là cái đầu tiên.

kèo bóng đá euro số ví dụ:

chọn regexp_matches ('foo', 'kèo bóng đá euro có');

TIP

Trong hầu hết kèo bóng đá euro trường hợpregexp_matches ()nên được sử dụng vớigcờ, vì nếu bạn chỉ muốn trận đấu đầu tiên, thì việc sử dụng dễ dàng hơn và hiệu quả hơnregexp_match (). Tuy nhiên,regexp_match ()chỉ tồn tại trongPOSTGRESQLPhiên bản 10 trở lên. Khi làm việc trong các phiên bản cũ hơn, kèo bóng đá euro thủ thuật phổ biến là đặt kèo bóng đá euroregexp_matches ()Gọi trong kèo bóng đá euro lựa chọn phụ, ví dụ:

chọn col1, (chọn regexp_matches (col2, '(thanh) (beque)')) từ tab;

Điều này tạo ra kèo bóng đá euro mảng văn bản nếu có trận đấu hoặcnullNếu kèo bóng đá euro, giống nhưregexp_match ()sẽ làm. Nếu không chọn phụ, truy vấn này sẽ không tạo ra đầu ra nào cho kèo bóng đá euro hàng bảng không có khớp, thường không phải là hành vi mong muốn.

Theregexp_replaceHàm cung cấp thay thế văn bản mới cho các chuỗi con phù hợp với các kèo bóng đá euro biểu thức chính quy POSIX. Nó có cú phápregexp_replace(chuỗi, kèo bóng đá euro, Thay thế[, cờ]) hoặcregexp_replace(chuỗi, kèo bóng đá euro, Thay thế, Bắt đầu[, n[, Cờ]]). Nguồnchuỗiđược trả về kèo bóng đá euro thay đổi nếu kèo bóng đá euro có khớp vớikèo bóng đá euro. Nếu có kèo bóng đá euro trận đấu,chuỗiđược trả về vớiThay thếChuỗi được thay thế cho chuỗi con phù hợp. TheThay thếChuỗi có thể chứa\n, trong đónlà 1 đến 9, để chỉ ra rằng phần phụ nguồn khớp vớin51227_51315\ &Để chỉ ra rằng phần phụ phù hợp với toàn bộ kèo bóng đá euro nên được chèn. Viết\Nếu bạn cần đặt kèo bóng đá euro dấu gạch chéo ngược theo nghĩa đen vào văn bản thay thế.kèo bóng đá eurođược tìm kiếm trongchuỗi, Thông thường từ đầu chuỗi, nhưng nếuBắt đầuTham số được cung cấp sau đó bắt đầu từ chỉ mục ký tự đó. Theo mặc định, chỉ có trận đấu đầu tiên của kèo bóng đá euro được thay thế.nđược chỉ định và lớn hơn 0, sau đó làn'That của kèo bóng đá euro được thay thế. Nếugcờ được đưa ra hoặc nếunđược chỉ định và bằng không, sau đó tất cả kèo bóng đá euro khớp tại hoặc sauBắt đầuVị trí được thay thế. (Thegcờ bị bỏ qua khinđược chỉ định.)cờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc kèo bóng đá euro chữ cái khác để thay đổi hành vi của chức năng. Cờ được hỗ trợ (mặc dù khôngg) được mô tả trongBảng 9.24.

kèo bóng đá euro số ví dụ:

regexp_replace ('foobarbaz', 'b ..', 'x')fooxbazregexp_replace ('foobarbaz', 'b ..', 'x', 'g')fooxxregexp_replace ('foobarbaz', 'b (..)', 'x \ 1y', 'g')fooxaryxazy53335_53442x pxstgrxsql fxnctxxn53529_53703Chức năng PostgRxSQL

Theregexp_split_to_tableHàm chia một chuỗi bằng kèo bóng đá euro biểu thức chính quy POSIX làm dấu phân cách. Nó có cú phápregexp_split_to_table(chuỗi, kèo bóng đá euro[, cờ]). Nếu kèo bóng đá euro có khớp vớikèo bóng đá euro, hàm trả vềchuỗi. Nếu có ít nhất kèo bóng đá euro trận đấu, với mỗi trận đấu, nó sẽ trả về văn bản từ cuối trận đấu cuối cùng (hoặc đầu chuỗi) cho đầu trận đấu.cờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc nhiều hơn để thay đổi hành vi của chức năng.regexp_split_to_tableHỗ trợ kèo bóng đá euro cờ được mô tả trongBảng 9.24.

Theregexp_split_to_arrayhàm hoạt động giống nhưregexp_split_to_table, ngoại trừregexp_split_to_arrayTrả về kết quả của nó dưới dạng kèo bóng đá euro mảngText. Nó có cú phápregexp_split_to_array(chuỗi, kèo bóng đá euro[, cờ]). kèo bóng đá euro tham số giống như đối vớiregexp_split_to_table.

kèo bóng đá euro số ví dụ:

Chọn foo từ regexp_split_to_table ('con cáo nâu nhanh nhảy qua con chó lười biếng', '\ s+') như foo;

Như ví dụ cuối cùng chứng minh, kèo bóng đá euro hàm phân chia regexp bỏ qua kèo bóng đá euro kết quả có độ dài bằng không xảy ra ở đầu hoặc cuối chuỗi hoặc ngay sau trận đấu trước. Điều này trái với định nghĩa nghiêm ngặt của kết hợp regexp được thực hiện bởi kèo bóng đá euro chức năng RegEXP khác, nhưng thường là hành vi thuận tiện nhất trong thực tế.

Theregexp_substrHàm trả về phần phụ phù hợp với kèo bóng đá euro biểu thức chính quy POSIX hoặcnullNếu kèo bóng đá euro có khớp. Nó có cú phápregexp_substr(chuỗi, kèo bóng đá euro[, Bắt đầu[, n[, cờ[, subexpr]]]]).kèo bóng đá eurođược tìm kiếm trongchuỗi, Thông thường từ đầu chuỗi, nhưng nếuBắt đầuTham số được cung cấp sau đó bắt đầu từ chỉ mục ký tự đó. Nếu nhưnđược chỉ định sau đóntrận đấu của kèo bóng đá euro được trả về, nếu không, trận đấu đầu tiên được trả về. ThecờTham số là kèo bóng đá euro chuỗi văn bản tùy chọn chứa các cờ đơn hoặc nhiều hơn để thay đổi hành vi của chức năng. Cờ được hỗ trợ được mô tả trongBảng 9.24. Đối với một kèo bóng đá euro chứa biểu hiện phụ,subexprlà kèo bóng đá euro số nguyên cho thấy biểu hiện phụ nào được quan tâm: kết quả là sự phù hợp với biểu hiện phụ đó. Các biểu hiện phụ được đánh số theo thứ tự dấu ngoặc đơn hàng đầu của họ.subexprbị bỏ qua hoặc kèo bóng đá euro, kết quả là toàn bộ trận đấu bất kể biểu hiện phụ.

kèo bóng đá euro số ví dụ:

regexp_substr ('số đường phố của bạn, thị trấn zip, fr', '[^,]+', 1, 2)Thị trấn Zipregexp_substr ('abcdefhi', '(c ..) (...)', 1, 1, 'i', 2)fgh

9.7.3.1. Chi tiết biểu thức thông thường#

PostgreSQLkèo bóng đá euro biểu thức thường xuyên được triển khai bằng gói phần mềm được viết bởi Henry Spencer. Phần lớn mô tả về kèo bóng đá euro biểu thức thông thường dưới đây được sao chép nguyên văn từ hướng dẫn của mình.

Biểu thức chính quy (res), như được định nghĩa trongPOSIX1003.2, có hai dạng:mở rộng reS hoặcERES (gần như củaEGREP) vàBASIC reS hoặcBRES (gần như củaED).PostgreSQLHỗ trợ cả hai hình thức và cũng thực hiện kèo bóng đá euro số phần mở rộng không theo tiêu chuẩn POSIX, nhưng đã được sử dụng rộng rãi do tính khả dụng của chúng trong các ngôn ngữ lập trình như Perl và Tcl.reS bằng cách sử dụng kèo bóng đá euro tiện ích mở rộng không posix này được gọi làNâng cao reS hoặcs trong tài liệu này. Ares gần như là kèo bóng đá euro siêu âm chính xác của các ERE, nhưng Bres có kèo bóng đá euro số sự không tương thích chứng minh (cũng như bị hạn chế hơn nhiều).

Lưu ý

PostgreSQLBan đầu luôn cho rằng kèo bóng đá euro biểu thức chính quy tuân theo các quy tắc là. Tuy nhiên, các quy tắc ERE hoặc BRE hạn chế hơn có thể được chọn bằng cách chi tiêuTùy chọn nhúngđến kèo bóng đá euro RE, như được mô tả trongPhần 9.7.3.4. Điều này có thể hữu ích cho khả năng tương thích với kèo bóng đá euro ứng dụng mong đợi chính xácPOSIX1003.2 Quy tắc.

kèo bóng đá euro biểu thức chính quy được định nghĩa là kèo bóng đá euro hoặc nhiềucành, tách biệt bởi|. Nó phù hợp với bất cứ thứ gì phù hợp với kèo bóng đá euro trong các nhánh.

kèo bóng đá euro nhánh bằng không hoặc nhiều hơnnguyên tử định lượnghoặcràng buộc, được kết hợp. Nó phù hợp với kèo bóng đá euro trận đấu cho trận đấu thứ nhất, sau đó là trận đấu cho trận thứ hai, v.v.;

kèo bóng đá euro nguyên tử được định lượng làAtomCó thể theo sau kèo bóng đá eurođịnh lượng. Không có bộ định lượng, nó phù hợp với kèo bóng đá euro trận đấu cho nguyên tử.AtomCó thể là bất kỳ khả năng nào được hiển thị trongBảng 9.17. kèo bóng đá euro bộ định lượng có thể và ý nghĩa của chúng được hiển thị trongBảng 9,18.

Aràng buộckhớp với kèo bóng đá euro chuỗi trống, nhưng chỉ khớp với các điều kiện cụ thể được đáp ứng. kèo bóng đá euro ràng buộc có thể được sử dụng khi có thể sử dụng kèo bóng đá euro nguyên tử, ngoại trừ nó không thể được theo sau bởi kèo bóng đá euro bộ định lượng.Bảng 9.19; kèo bóng đá euro số ràng buộc khác được mô tả sau.

Bảng 9.17. kèo bóng đá euro nguyên tử biểu hiện chính quy

Atom Mô tả
(re) (trong đórelà bất kỳ biểu thức chính quy nào) khớp với kèo bóng đá euro trận đấu chore, với trận đấu được ghi nhận để báo cáo có thể
(?:re) Như trên, nhưng trận đấu kèo bóng đá euro được ghi nhận để báo cáo (Akèo bóng đá euro bắt giữHồibộ dấu ngoặc đơn) (chỉ ares)
. khớp với bất kỳ ký tự đơn nào
[chars] ABiểu thức khung, phù hợp với bất kỳ ai trong sốchars(xemPhần 9.7.3.2Để biết thêm chi tiết)
\K (trong đóK65093_65190\khớp với ký tự dấu gạch chéo ngược
\C WHEREClà chữ và số (có thể theo sau bởi các ký tự khác) là kèo bóng đá euroEscape, xemPhần 9.7.3.3(chỉ ares; trong eres và bres, điều này phù hợpC)
Khi được theo sau bởi kèo bóng đá euro ký tự không phải là kèo bóng đá euro chữ số, phù hợp với ký tự tay trái; Khi được theo sau bởi kèo bóng đá euro chữ số, nó là khởi đầu của kèo bóng đá euroBound(xem bên dưới)
x WHERExlà kèo bóng đá euro ký tự duy nhất không có ý nghĩa khác, khớp với ký tự đó

kèo bóng đá euro RE không thể kết thúc bằng dấu gạch chéo ngược (\).

Lưu ý

Nếu bạn cóStandard_Conforming_StringsĐã tắt, bất kỳ dấu gạch chéo ngược nào bạn viết trong kèo bóng đá euro hằng số chuỗi theo nghĩa đen sẽ cần phải được nhân đôi. Nhìn thấyPhần 4.1.2.1Để biết thêm thông tin.

Bảng 9,18. Định lượng biểu thức thông thường

định lượng khớp
* Trình tự từ 0 trở lên của Atom
+ kèo bóng đá euro chuỗi từ 1 hoặc nhiều hơn các kết quả của nguyên tử
? kèo bóng đá euro chuỗi các trận đấu 0 hoặc 1 của nguyên tử
M kèo bóng đá euro chuỗi chính xácMphù hợp với nguyên tử
M, kèo bóng đá euro chuỗiMhoặc nhiều trận đấu của nguyên tử
M,n kèo bóng đá euro chuỗiMđếnn(Bao gồm) kèo bóng đá euro khớp của nguyên tử;Mkèo bóng đá euro thể vượt quán
69218_69222 Phiên bản kèo bóng đá euro xanh của*
+? Phiên bản kèo bóng đá euro xanh của+
?? Phiên bản kèo bóng đá euro màu xanh của?
M? Phiên bản kèo bóng đá euro xanh củaM
M,? Phiên bản kèo bóng đá euro xanh củaM,
M,n? Phiên bản kèo bóng đá euro xanh củaM,n

Các biểu kèo bóng đá euro sử dụng...được gọi làBound. SốMnTrong kèo bóng đá euro giới hạn là các số nguyên thập phân không dấu với các giá trị cho phép từ 0 đến 255 bao gồm.

kèo bóng đá euro GreedyĐịnh lượng (chỉ có sẵn trong Ares) khớp với kèo bóng đá euro khả năng giống như bình thường tương ứng của chúng (Greedy) kèo bóng đá euro đối tác, nhưng thích số nhỏ nhất hơn là số lượng trận đấu lớn nhất. Nhìn thấyPhần 9.7.3.5Để biết thêm chi tiết.

Note

71775_71842**kèo bóng đá euro hợp lệ. Trình định lượng kèo bóng đá euro thể bắt đầu biểu thức hoặc biểu hiện phụ hoặc theo dõi^hoặc|.

Bảng 9.19. kèo bóng đá euro ràng buộc biểu thức chính quy

ràng buộc Mô tả
^ khớp với đầu chuỗi
$ khớp ở cuối chuỗi
(? =re) LookAHEAD tích cựckhớp với bất kỳ điểm nào phù hợp với chuỗi conreBắt đầu (chỉ ares)
(?!re) SOUNT LOOKAHEADkhớp tại bất kỳ điểm nào kèo bóng đá euro phù hợp với bộ nềnreBắt đầu (chỉ ares)
(? <=re) Lookbehind tích cựckhớp với bất kỳ điểm nào phù hợp với chuỗi conRekết thúc (chỉ ares)
(? <!re) Lookehind tiêu cựcphù hợp với bất kỳ điểm nào kèo bóng đá euro phù hợp với chuỗi conrekết thúc (chỉ ares)

74412_74466Tài liệu tham khảo trở lại(xemPhần 9.7.3.3) và tất cả kèo bóng đá euro dấu ngoặc đơn trong chúng được coi là không bắt giữ.

9.7.3.2. Biểu thức khung#

ABiểu thức khunglà danh sách kèo bóng đá euro ký tự được đặt trong[]. Nó thường khớp với bất kỳ ký tự đơn từ danh sách (nhưng xem bên dưới).^, nó phù hợp với bất kỳ ký tự đơn nàokèo bóng đá euroTừ phần còn lại của danh sách. Nếu hai ký tự trong danh sách được phân tách bởi-, đây là tốc ký cho toàn bộ kèo bóng đá euro ký tự giữa hai (bao gồm) trong chuỗi đối chiếu, ví dụ:[0-9]inASCIIkhớp với bất kỳ chữ số thập phân nào. Đó là bất hợp pháp đối với hai phạm vi để chia sẻ kèo bóng đá euro điểm cuối, ví dụ:A-C-E. Phạm vi rất phụ thuộc vào chuỗi, vì vậy kèo bóng đá euro chương trình di động sẽ tránh dựa vào chúng.

để bao gồm kèo bóng đá euro nghĩa đen]Trong danh sách, hãy biến nó thành ký tự đầu tiên (sau^, nếu được sử dụng). Để bao gồm kèo bóng đá euro nghĩa đen-, Làm cho nó trở thành ký tự đầu tiên hoặc cuối cùng hoặc điểm cuối thứ hai của kèo bóng đá euro phạm vi. Sử dụng kèo bóng đá euro nghĩa đen-Là điểm cuối đầu tiên của kèo bóng đá euro phạm vi, đặt nó trong[..]Để biến nó thành kèo bóng đá euro yếu tố đối chiếu (xem bên dưới). Ngoại trừ các ký tự này, kèo bóng đá euro số kết hợp sử dụng[(xem kèo bóng đá euro đoạn tiếp theo) và Escapes (chỉ Ares), tất cả kèo bóng đá euro nhân vật đặc biệt khác đều mất ý nghĩa đặc biệt của họ trong biểu thức khung. Cụ thể,\Không đặc biệt khi tuân theo các quy tắc ERE hoặc BRE, mặc dù nó đặc biệt (như giới thiệu kèo bóng đá euro lối thoát) trong Ares.

76761_76957[..]là viết tắt của chuỗi ký tự của phần tử đối chiếu đó. Trình tự được coi là kèo bóng đá euro yếu tố duy nhất trong danh sách của biểu thức khung.CHPhần tử đối chiếu, sau đó là Re[[. Ch.]]*Ckhớp với năm ký tự đầu tiên củaCHCHCC.

Lưu ý

POSTGRESQLHiện tại không hỗ trợ kèo bóng đá euro yếu tố đối chiếu đa nhân vật. Thông tin này mô tả hành vi trong tương lai có thể.

Trong biểu thức khung, phần tử đối chiếu được đặt trong[==]Lớp tương đương, đứng cho kèo bóng đá euro chuỗi ký tự của tất cả kèo bóng đá euro yếu tố đối chiếu tương đương với phần đó, bao gồm cả chính nó. .[..].) Ví dụ, nếuo^là thành viên của kèo bóng đá euro lớp tương đương, sau đó[[= o =]], [[=^=]][o^]Tất cả đều đồng nghĩa. kèo bóng đá euro lớp tương đương không thể là điểm cuối của phạm vi.

Trong biểu thức khung, tên của kèo bóng đá euro lớp ký tự được đặt trong[::]là viết tắt của danh sách tất cả các ký tự thuộc lớp đó. kèo bóng đá euro lớp ký tự không thể được sử dụng như kèo bóng đá euro điểm cuối của kèo bóng đá euro phạm vi.POSIXTiêu chuẩn xác định kèo bóng đá euro tên lớp ký tự này:Alnum(chữ cái và chữ số),alpha(chữ cái),trống(kèo bóng đá euro gian và tab),cntrl(ký tự điều khiển),Digit(chữ số số),đồ thị(ký tự có thể in ngoại trừ kèo bóng đá euro gian),Hạ(chữ cái chữ thường),in(ký tự có thể in bao gồm kèo bóng đá euro gian),Punc(dấu câu),kèo bóng đá euro gian(bất kỳ khoảng trắng nào),trên(chữ cái trên) vàXDigit(chữ số thập lục phân). Hành vi của kèo bóng đá euro lớp ký tự tiêu chuẩn này thường nhất quán trên kèo bóng đá euro nền tảng cho kèo bóng đá euro ký tự trong bộ ASCII 7 bit.đối chiếuđược sử dụng cho chức năng hoặc toán tử biểu hiện thông thường (xemPhần 23.2) hoặc theo mặc định trên cơ sở dữ liệulc_ctypeCài đặt địa phương (xemPhần 23.1). Việc phân loại kèo bóng đá euro ký tự không phải ASCII có thể thay đổi giữa kèo bóng đá euro nền tảng ngay cả trong kèo bóng đá euro địa phương được đặt tên tương tự.CLocale không bao giờ coi bất kỳ ký tự không ASCII nào thuộc về bất kỳ lớp nào trong số này.) Ngoài kèo bóng đá euro lớp ký tự tiêu chuẩn này,PostgreSQLXác địnhWordlớp ký tự, giống nhưAlnumcộng với dấu gạch dưới (_) ký tự vàASCIIlớp ký tự, chứa chính xác bộ ASCII 7 bit.

Có hai trường hợp đặc biệt của biểu thức khung: Biểu thức khung[[: <:]][[::]]là các ràng buộc, khớp với các chuỗi trống ở đầu và cuối của kèo bóng đá euro từ tương ứng. kèo bóng đá euro từ được định nghĩa là kèo bóng đá euro chuỗi các ký tự từ không đi trước cũng như không theo sau bởi các ký tự từ.Wordlớp ký tự, nghĩa là, bất kỳ chữ cái, chữ số hoặc dấu gạch dưới nào. Đây là kèo bóng đá euro tiện ích mở rộng, tương thích với nhưng không được chỉ định bởiPOSIX1003.2 và nên được sử dụng kèo bóng đá euro cách thận trọng trong phần mềm nhằm mục đích di động cho các hệ thống khác. Các lối thoát hạn chế được mô tả dưới đây thường là thích hợp hơn;

9.7.3.3. Biểu thức thông thường thoát ra#

Escapeslà kèo bóng đá euro chuỗi đặc biệt bắt đầu bằng\theo sau là kèo bóng đá euro ký tự chữ và số. Escapes có kèo bóng đá euro số giống: Nhập cảnh nhân vật, tốc ký lớp, thoát khỏi sự ràng buộc và tài liệu tham khảo trở lại.\tiếp theo là kèo bóng đá euro ký tự chữ và số nhưng không cấu thành kèo bóng đá euro lối thoát hợp lệ là bất hợp pháp trong Ares. Trong Eres, không có lối thoát: bên ngoài biểu thức khung, A\Tiếp theo là kèo bóng đá euro ký tự chữ và số chỉ là viết tắt của ký tự đó như kèo bóng đá euro ký tự thông thường và bên trong biểu thức khung,\là kèo bóng đá euro ký tự thông thường. (Cái sau là kèo bóng đá euro điều không tương thích thực tế giữa ERE và ARES.)

Escapes ký tựtồn tại để giúp dễ dàng chỉ định kèo bóng đá euro ký tự không in và khác trong Res. Chúng được hiển thị trongBảng 9.20.

Escapes-Shorthand EscapesCung cấp tốc ký cho kèo bóng đá euro lớp ký tự thường được sử dụng nhất định. Chúng được hiển thị trongBảng 9.21.

AỨng dụng Escapelà kèo bóng đá euro ràng buộc, khớp với chuỗi trống nếu các điều kiện cụ thể được đáp ứng, được viết dưới dạng kèo bóng đá euro lối thoát. Chúng được hiển thị trongBảng 9.22.

ATham chiếu lại(\n) khớp với cùng kèo bóng đá euro chuỗi phù hợp với biểu hiện phụ được chỉ định bởi sốn(xemBảng 9,23). Ví dụ,([BC]) \ 1MatchesBBhoặcCCnhưng kèo bóng đá euroBChoặcCB. Sự biểu hiện phụ phải hoàn toàn đi trước tham chiếu trở lại trong RE.(^\ d) \ 1sẽ khớp22.

Bảng 9.20. Biểu thức thông thường-nhập ký tự thoát

Escape Mô tả
\ A Cảnh báo (Bell), như trong C
\ B Backspace, như trong C
\ B Từ đồng nghĩa với Backslash (\) để giúp giảm nhu cầu tăng gấp đôi
\ Cx (trong đóxlà bất kỳ ký tự nào) ký tự có 5 bit thứ tự thấp giống như củax, và có kèo bóng đá euro bit khác đều bằng không
\ E Nhân vật có tên trình tự đối chiếu làESChoặc kèo bóng đá euro thành công, ký tự có giá trị bát phân033
\ f Form Feed, như trong C
\ n Newline, như trong C
\ r Trở lại vận chuyển, như trong C
\ T Tab ngang, như trong C
\ uWXYZ (trong đóWXYZchính xác là bốn chữ số thập lục phân) ký tự có giá trị thập lục phân là0xWXYZ
\ ustuvwxyz (trong đóstuvwxyzchính xác là tám chữ số thập lục phân) Nhân vật có giá trị thập lục phân là0xstuvwxyz
\ V Tab dọc, như trong C
\ xHHH (trong đóHHHlà bất kỳ chuỗi chữ số thập lục phân) ký tự có giá trị thập lục phân là0xHHH(kèo bóng đá euro ký tự duy nhất cho dù sử dụng bao nhiêu chữ số thập lục phân)
\ 0 ký tự có giá trị là0(byte null)
\XY (trong đóXYchính xác là hai chữ số bát phân và kèo bóng đá euro phải làTham chiếu lại) ký tự có giá trị bát phân là0XY
\XYZ (trong đóXYZChính xác là ba chữ số bát phân và kèo bóng đá euro phải làTham chiếu lại) ký tự có giá trị bát phân là0XYZ

kèo bóng đá euro chữ số thập lục phân là0-9, A-fA-f. Chữ số bát phân là0-7.

Nhập ký tự số thoát ra kèo bóng đá euro giá trị chỉ định bên ngoài phạm vi ASCII (0 Ném127) có ý nghĩa phụ thuộc vào mã hóa cơ sở dữ liệu. Khi mã hóa là UTF-8, kèo bóng đá euro giá trị thoát tương đương với kèo bóng đá euro điểm mã Unicode, ví dụ\ U1234có nghĩa là ký tựU+1234. Đối với kèo bóng đá euro mã hóa multibyte khác, thoát nhập ký tự thường chỉ xác định sự kết hợp của kèo bóng đá euro giá trị byte cho ký tự.

Escapes nhập ký tự luôn được coi là ký tự thông thường. Ví dụ,\ 135]Trong ASCII, nhưng\ 135kèo bóng đá euro chấm dứt biểu thức khung.

Bảng 9.21. Biểu thức thông thường của lớp biểu diễn thoát ra

Escape Mô tả
\ D khớp với bất kỳ chữ số nào, như[[: Digit:]]
\ S phù hợp với bất kỳ ký tự khoảng trắng nào, như[[: kèo bóng đá euro gian:]]
\ W khớp với bất kỳ ký tự từ nào, như[[: từ:]]
\ D phù hợp với bất kỳ chữ số nào, như[^[: Digit:]]
\ S phù hợp với bất kỳ ký tự kèo bóng đá euro gian nào, như[^[: kèo bóng đá euro gian:]]
\ W phù hợp với bất kỳ ký tự kèo bóng đá euro từ nào, như[^[: từ:]]

Escapes Shorthand Escapes cũng hoạt động trong kèo bóng đá euro biểu thức khung, mặc dù kèo bóng đá euro định nghĩa được hiển thị ở trên không hoàn toàn có giá trị về mặt cú pháp trong bối cảnh đó. Ví dụ,[A-C \ D]tương đương với[A-C [: Digit:]].

Bảng 9.22. Biểu thức thông thường bị ràng buộc thoát ra

Escape Mô tả
\ A Chỉ phù hợp ở đầu chuỗi (xemPhần 9.7.3.5Vì điều này khác với^)
\ m Chỉ phù hợp ở đầu kèo bóng đá euro từ
\ m Chỉ phù hợp ở cuối kèo bóng đá euro từ
\ y Chỉ phù hợp ở đầu hoặc cuối của kèo bóng đá euro từ
\ y Chỉ phù hợp tại kèo bóng đá euro điểm không phải là bắt đầu hoặc kết thúc của kèo bóng đá euro từ
\ Z Chỉ phù hợp ở cuối chuỗi (xemPhần 9.7.3.5Vì điều này khác với$)

kèo bóng đá euro từ được định nghĩa là trong đặc điểm kỹ thuật của[[: <:]][[::]]ở trên. Bị ràng buộc Escapes là bất hợp pháp trong kèo bóng đá euro biểu thức khung.

Bảng 9,23. Biểu thức thông thường tài liệu tham khảo trở lại

Escape Mô tả
\M (trong đóMlà kèo bóng đá euro chữ số khác) kèo bóng đá euro tham chiếu trở lại choM
\MNN (trong đóMlà kèo bóng đá euro chữ số khác vànnlà kèo bóng đá euro số chữ số khác và giá trị thập phânMNNkhông lớn hơn số lượng dấu ngoặc đơn đóng cho đến nay) kèo bóng đá euro tham chiếu trở lại choMNN

Lưu ý

Có kèo bóng đá euro sự mơ hồ vốn có giữa các lần thoát khỏi ký tự octal và tài liệu tham khảo trở lại, được giải quyết bằng các heuristic sau đây, như được gợi ý ở trên. kèo bóng đá euro số không hàng đầu luôn chỉ ra kèo bóng đá euro lối thoát bát phân.

9.7.3.4. Biểu thức thông thường metasyntax#

Ngoài cú pháp chính được mô tả ở trên, còn có kèo bóng đá euro số hình thức đặc biệt và các cơ sở cú pháp linh tinh có sẵn.

kèo bóng đá euro RE có thể bắt đầu bằng kèo bóng đá euro trong hai đặc biệtGiám đốcTiền tố. Nếu kèo bóng đá euro re bắt đầu bằng***:97831_97906POSTGRESQL, vì độ phân giải được coi là Ares; Nhưng nó có ảnh hưởng nếu chế độ ERE hoặc BRE đã được chỉ định bởicờtham số cho hàm regex.) Nếu kèo bóng đá euro re bắt đầu bằng*** =, phần còn lại của RE được coi là kèo bóng đá euro chuỗi theo nghĩa đen, với tất cả các ký tự được coi là các ký tự thông thường.

AN có thể bắt đầu bằngTùy chọn nhúng: kèo bóng đá euro chuỗi(?XYZ)(trong đóXYZlà kèo bóng đá euro hoặc nhiều ký tự chữ cái) Chỉ định các tùy chọn ảnh hưởng đến phần còn lại của RE. Các tùy chọn này ghi đè bất kỳ tùy chọn được xác định trước đó-đặc biệt, chúng có thể ghi đè hành vi nhạy cảm trường hợp được ngụ ý bởi toán tử Regex hoặcCờTham số cho hàm regex. kèo bóng đá euro chữ cái tùy chọn có sẵn được hiển thị trongBảng 9.24. Lưu ý rằng kèo bóng đá euro chữ cái tùy chọn tương tự được sử dụng trongcờtham số của kèo bóng đá euro hàm regex.

Bảng 9.24. Được nhúng-kèo bóng đá euro chữ cái tùy chọn

Tùy chọn Mô tả
B Phần còn lại của re là bre
C Kết hợp nhạy cảm trường hợp (loại ghi đè loại toán tử)
E Phần còn lại của re là ere
i Phù hợp kèo bóng đá euro nhạy cảm với chữ hoa Case (xemPhần 9.7.3.5) (Ghi đè loại toán tử)
M Từ đồng nghĩa lịch sử chon
n Kết hợp nhạy cảm với Newline (xemPhần 9.7.3.5)
P Kết hợp nhạy cảm với kèo bóng đá euro phần (xemPhần 9.7.3.5)
Q Phần còn lại của RE là kèo bóng đá euro nghĩa đen (trích dẫn) Chuỗi, tất cả kèo bóng đá euro ký tự thông thường
S Kết hợp kèo bóng đá euro nhạy cảm với bản tin (mặc định)
T Cú pháp chặt chẽ (mặc định; xem bên dưới)
W 101950_101987Weird) Phù hợp (xemPhần 9.7.3.5)
x Cú pháp mở rộng (xem bên dưới)

Tùy chọn nhúng có hiệu lực tại)Kết thúc chuỗi. Chúng chỉ có thể xuất hiện khi bắt đầu kèo bóng đá euro (sau***:Giám đốc nếu có).

Ngoài thông thường (chặt chẽ) re Cú pháp, trong đó tất cả các ký tự đều có ý nghĩa, có kèo bóng đá euroMở rộngCú pháp, có sẵn bằng cách chỉ định nhúngxTùy chọn. Trong cú pháp mở rộng, kèo bóng đá euro ký tự không gian trắng trong RE bị bỏ qua, cũng như tất cả kèo bóng đá euro ký tự giữa A#và dòng mới sau (hoặc kết thúc của RE). Điều này cho phép đoạn văn và nhận xét kèo bóng đá euro re phức tạp.

  • kèo bóng đá euro ký tự không gian trắng hoặc#trước\​​được giữ lại

  • kèo bóng đá euro gian trắng hoặc#Trong biểu thức khung được giữ lại

  • không gian trắng và nhận xét không thể xuất hiện trong kèo bóng đá euro ký hiệu đa nhân vật, chẳng hạn như(?:

Với mục đích này, kèo bóng đá euro ký tự không gian trắng là trống, tab, newline và bất kỳ ký tự nào thuộc vềSpacelớp ký tự.

Cuối cùng, trong kèo bóng đá euro biểu thức khung bên ngoài, trình tự(?#TTT)(trong đóTTTCó bất kỳ văn bản nào kèo bóng đá euro chứa)) là kèo bóng đá euro nhận xét, hoàn toàn bị bỏ qua. kèo bóng đá euro lần nữa, điều này không được phép giữa các ký tự của các ký hiệu đa nhân vật, như(?:. Những bình luận như vậy là kèo bóng đá euro cổ vật lịch sử hơn là kèo bóng đá euro cơ sở hữu ích, và việc sử dụng của chúng không được chấp nhận;

kèo bóng đá eurocủa kèo bóng đá euro tiện ích mở rộng metasyntax này có sẵn nếu ban đầu*** =Giám đốc đã chỉ định rằng đầu vào của người dùng được coi là kèo bóng đá euro chuỗi theo nghĩa đen chứ không phải là kèo bóng đá euro re.

9.7.3.5. Quy tắc khớp biểu thức chính quy#

Trong trường hợp RE có thể khớp nhiều hơn kèo bóng đá euro chuỗi con của kèo bóng đá euro chuỗi đã cho, RE khớp với kèo bóng đá euro lần bắt đầu sớm nhất trong chuỗi. Nếu RE có thể khớp nhiều hơn kèo bóng đá euro chuỗi con bắt đầu tại thời điểm đó, thì trận đấu dài nhất có thể hoặc trận đấu ngắn nhất có thể sẽ được thực hiện, tùy thuộc vào việc RE làGreedyhoặckèo bóng đá euro Greedy.

Cho dù RE có tham lam hay không được xác định bởi kèo bóng đá euro quy tắc sau:

  • Hầu hết kèo bóng đá euro nguyên tử và tất cả kèo bóng đá euro ràng buộc, không có thuộc tính tham lam (vì chúng không thể khớp với số lượng văn bản biến

  • Thêm dấu ngoặc đơn xung quanh RE kèo bóng đá euro thay đổi sự tham lam của nó.

  • kèo bóng đá euro nguyên tử được định lượng với bộ định lượng lặp lại cố định (MhoặcM?) có cùng sự tham lam (có thể kèo bóng đá euro có) như chính nguyên tử.

  • kèo bóng đá euro nguyên tử được định lượng với các bộ định lượng bình thường khác (bao gồmM,nvớiMbằngn) là tham lam (thích trận đấu dài nhất).

  • kèo bóng đá euro nguyên tử được định lượng với bộ định lượng không màu xanh lá cây (bao gồmM,n?vớiMbằngn) là kèo bóng đá euro màu xanh lá cây (thích kết hợp ngắn nhất).

  • kèo bóng đá euro nhánh-nghĩa là kèo bóng đá euro RE không có cấp cao nhất|toán tử - có cùng sự tham lam với nguyên tử được định lượng đầu tiên trong đó có thuộc tính tham lam.

  • kèo bóng đá euro RE bao gồm hai hoặc nhiều nhánh được kết nối bởi|Nhà điều hành luôn tham lam.

kèo bóng đá euro quy tắc trên liên kết kèo bóng đá euro thuộc tính tham lam không chỉ với kèo bóng đá euro nguyên tử được định lượng riêng lẻ, mà với kèo bóng đá euro nhánh và toàn bộ RES có chứa kèo bóng đá euro nguyên tử được định lượng. Điều đó có nghĩa là việc kết hợp được thực hiện theo cách mà nhánh hoặc toàn bộ Re, phù hợp với chuỗi con dài nhất hoặc ngắn nhất có thểtoàn bộ. Khi độ dài của toàn bộ trận đấu được xác định, kèo bóng đá euro phần của nó phù hợp với bất kỳ biểu thức phụ cụ thể nào được xác định trên cơ sở thuộc tính tham lam của biểu hiện phụ đó, với biểu hiện phụ bắt đầu từ trước trong lần ưu tiên RE bắt đầu từ sau.

kèo bóng đá euro ví dụ về ý nghĩa của điều này:

Chọn Subring ('XY1234Z', 'Y*([0-9] 1,3)');Kết quả:123Chọn Subring ('XY1234Z', 'y*? ([0-9] 1,3)');Kết quả:1

Trong trường hợp đầu tiên, toàn bộ Re là tham lam vìY*là tham lam. Nó có thể khớp với bắt đầu tạiyvà nó phù hợp với chuỗi dài nhất có thể bắt đầu từ đó, tức là,Y123. Đầu ra là phần dấu ngoặc đơn của đó, hoặc123. Trong trường hợp thứ hai, toàn bộ RE kèo bóng đá euro phải là greedy vìy*?là kèo bóng đá euro màu xanh lá cây. Nó có thể khớp với bắt đầu tạiYvà nó phù hợp với chuỗi ngắn nhất có thể bắt đầu từ đó, tức là,Y1. Biểu hiện phụ[0-9] 1,3là tham lam nhưng nó kèo bóng đá euro thể thay đổi quyết định về độ dài trận đấu tổng thể; Vì vậy, nó buộc phải khớp chỉ1.

Tóm lại, khi kèo bóng đá euro RE chứa cả biểu hiện phụ tham lam và không tham lam, tổng chiều dài khớp càng dài nhất có thể hoặc càng ngắn càng tốt, theo thuộc tính được gán cho toàn bộ RE. Các thuộc tính được gán cho các biểu hiện phụ chỉ ảnh hưởng đến số lượng phù hợp mà chúng được phépHồiĂnHồiLiên quan đến nhau.

Bộ định lượng1,11,1?có thể được sử dụng để buộc sự tham lam hoặc không tính gấp mới, tương ứng, trên biểu hiện phụ hoặc toàn bộ Re. Điều này rất hữu ích khi bạn cần toàn bộ RE để có kèo bóng đá euro thuộc tính tham lam khác với những gì được suy luận từ các yếu tố của nó.

chọn regexp_match ('ABC01234XYZ', '(.*) (\ D+) (.*)');Kết quả:ABC0123,4, XYZ

Điều đó kèo bóng đá euro hoạt động: Đầu tiên.*là tham lam vì vậy nóĂncàng nhiều càng tốt, rời khỏi\ D+Để phù hợp ở vị trí cuối cùng có thể, chữ số cuối cùng. Chúng ta có thể cố gắng sửa chữa điều đó bằng cách làm cho nó kèo bóng đá euro có màu xanh lá cây:

chọn regexp_match ('abc01234xyz', '(.*?) (\ D+) (.*)');result:abc, 0, ""

Điều đó cũng kèo bóng đá euro hoạt động, bởi vì bây giờ toàn bộ RE kèo bóng đá euro phải là màu xám và do đó, nó kết thúc trận đấu tổng thể càng sớm càng tốt. Chúng ta có thể nhận được những gì chúng ta muốn bằng cách buộc toàn bộ Re trở nên tham lam:

chọn regexp_match ('abc01234xyz', '(?: (.*?) (\ D+) (.*))Kết quả:ABC, 01234, XYZ

Kiểm soát sự tham lam tổng thể của RE tách biệt với sự tham lam của các thành phần cho phép tính linh hoạt tuyệt vời trong việc xử lý các kèo bóng đá euro có độ dài thay đổi.

Khi quyết định xem khớp dài hơn hoặc ngắn hơn, độ dài khớp được đo bằng các ký tự, không đối chiếu các phần tử. kèo bóng đá euro chuỗi trống được coi là dài hơn không có khớp nào cả.BB*khớp với ba ký tự giữa củaABBBC;(Tuần | Wee) (đêm | Hiệp sĩ)khớp với tất cả mười ký tự củaĐêm tuần; khi(.*).*được khớp vớiABCbiểu hiện phụ của phần phụ phù hợp với cả ba ký tự; và khi(a*)*được khớp vớiBC112596_112675

Nếu kết hợp độc lập trường hợp được chỉ định, hiệu ứng này giống như tất cả các trường hợp phân biệt đã biến mất từ ​​bảng chữ cái. Khi chữ cái tồn tại trong nhiều trường hợp xuất hiện dưới dạng kèo bóng đá euro ký tự thông thường bên ngoài biểu thức khung, nó được chuyển đổi thành kèo bóng đá euro biểu thức khung có chứa cả hai trường hợp, ví dụ:xtrở thành[xx]. Khi nó xuất hiện bên trong biểu thức khung, tất cả kèo bóng đá euro đối tác của nó được thêm vào biểu thức khung, ví dụ:[x]trở thành[xx][^x]trở thành[^xx].

Nếu kết hợp nhạy cảm với newline được chỉ định,.và biểu thức khung bằng cách sử dụng^113501_113630^$sẽ khớp với chuỗi trống sau và trước kèo bóng đá euro dòng mới tương ứng, ngoài việc khớp lần lượt ở đầu và cuối chuỗi. Nhưng là những lối thoát\ A\ ZTiếp tục khớp hoặc kết thúc chuỗichỉ. Ngoài ra, lớp ký tự viết tắt\ D\ Wsẽ phù hợp với kèo bóng đá euro dòng mới bất kể chế độ này. (TrướcPostgreSQL14, họ kèo bóng đá euro khớp với Newlines khi ở chế độ nhạy cảm với dòng mới. Viết[^[: chữ số:]]hoặc[^[: từ:]]Để có được hành vi cũ.)

Nếu kết hợp nhạy cảm với kèo bóng đá euro phần mới được chỉ định, điều này ảnh hưởng.và kèo bóng đá euro biểu thức khung như với kết hợp nhạy cảm với newline, nhưng không phải^$.

114652_114727^$Như với kết hợp nhạy cảm với Newline, nhưng kèo bóng đá euro phải.và biểu thức khung. Điều này kèo bóng đá euro hữu ích lắm nhưng được cung cấp cho tính đối xứng.

9.7.3.6. Giới hạn và khả năng tương thích#

Không có giới hạn cụ thể nào được áp đặt đối với độ dài của RES trong triển khai này. Tuy nhiên, kèo bóng đá euro chương trình dự định sẽ có tính di động cao không nên sử dụng độ phân giải lâu hơn 256 byte, vì việc triển khai tuân thủ POSIX có thể từ chối chấp nhận res đó.

Tính năng duy nhất của Ares thực sự kèo bóng đá euro tương thích với Posix ERES là\Không mất ý nghĩa đặc biệt trong kèo bóng đá euro biểu thức khung. Tất cả kèo bóng đá euro tính năng khác đều sử dụng cú pháp là bất hợp pháp hoặc có kèo bóng đá euro hiệu ứng không xác định hoặc không xác định trong kèo bóng đá euro ERE POSIX;***Cú pháp của kèo bóng đá euro giám đốc tương tự nằm ngoài cú pháp POSIX cho cả BRE và ERE.

Nhiều phần mở rộng được mượn từ Perl, nhưng kèo bóng đá euro số đã được thay đổi để làm sạch chúng và kèo bóng đá euro vài phần mở rộng Perl không có mặt. Sự không tương thích của lưu ý bao gồm\ B, \ B, Thiếu điều trị đặc biệt cho kèo bóng đá euro dòng mới, việc bổ sung các biểu thức khung bổ sung cho những điều bị ảnh hưởng bởi sự phù hợp nhạy cảm với dòng, các hạn chế đối với dấu ngoặc đơn và các tài liệu tham khảo về phía trước

9.7.3.7. Biểu thức chính quy cơ bản#

Bres khác với các ERE ở kèo bóng đá euro số khía cạnh. Trong bres,|, +?là kèo bóng đá euro ký tự thông thường và không có tương đương với chức năng của chúng. kèo bóng đá euro dấu phân cách cho giới hạn là\\, vớiBản thân kèo bóng đá euro ký tự thông thường. Dấu ngoặc đơn cho biểu hiện phụ lồng nhau là\ (\), với()Bản thân kèo bóng đá euro ký tự thông thường.^là kèo bóng đá euro ký tự thông thường ngoại trừ khi bắt đầu RE hoặc bắt đầu biểu hiện phụ,$là kèo bóng đá euro ký tự thông thường ngoại trừ ở cuối RE hoặc kết thúc của biểu hiện phụ, và*^). Cuối cùng, các tài liệu tham khảo trở lại kèo bóng đá euro chữ số có sẵn và\ <\là từ đồng nghĩa với[[: <:]][[::]]tương ứng; kèo bóng đá euro có lối thoát nào khác có sẵn trong bres.

9.7.3.8. Sự khác biệt so với tiêu chuẩn SQL và XQuery#

118977_119147

  • like_regex

  • xuất hiện_REGEX

  • vị trí_regex

  • SPERTRING_REGEX

  • dịch_regex

PostgreSQLHiện không thực hiện kèo bóng đá euro toán tử và chức năng này. Bạn có thể nhận được chức năng tương đương xấp xỉ trong mỗi trường hợp như trongBảng 9.25. (kèo bóng đá euro mệnh đề tùy chọn khác nhau ở cả hai bên đã bị bỏ qua trong bảng này.)

Bảng 9.25. kèo bóng đá euro hàm biểu thức chính quy tương đương

Tiêu chuẩn SQL PostgreSQL
chuỗilike_regexkèo bóng đá euro regexp_like (chuỗi, kèo bóng đá euro)hoặcchuỗi~kèo bóng đá euro
xuất hiện_REGEX (kèo bóng đá euroinchuỗi) regexp_count (chuỗi, kèo bóng đá euro)
vị trí_regex (kèo bóng đá euroinchuỗi) regexp_instr (chuỗi, kèo bóng đá euro)
Subring_Regex (kèo bóng đá euroinchuỗi) regexp_substr (chuỗi, kèo bóng đá euro)
dịch_regex (kèo bóng đá euroinchuỗivớiThay thế) regexp_replace (chuỗi, kèo bóng đá euro, Thay thế)

Các hàm biểu thức chính quy tương tự như các chức năng được cung cấp bởi PostgreSQL cũng có sẵn trong kèo bóng đá euro số triển khai SQL khác, trong khi các chức năng theo tiêu chuẩn SQL không được triển khai rộng rãi. kèo bóng đá euro số chi tiết của cú pháp biểu thức thông thường có thể sẽ khác nhau trong mỗi lần thực hiện.

kèo bóng đá euro toán tử và chức năng tiêu chuẩn SQL sử dụng kèo bóng đá euro biểu thức chính quy XQuery, khá gần với cú pháp được mô tả ở trên. Sự khác biệt đáng chú ý giữa tính năng biểu hiện thông thường dựa trên POSIX hiện có và kèo bóng đá euro biểu thức thông thường XQuery bao gồm:

  • phép trừ lớp nhân vật XQuery không được hỗ trợ. kèo bóng đá euro ví dụ về tính năng này là sử dụng phần sau để chỉ phù hợp với các phụ âm tiếng Anh:[A-Z- [AEIOU]].

  • Biểu đồ của ký tự xquery\ C, \ C, \ I\ ikèo bóng đá euro được hỗ trợ.

  • kèo bóng đá euro thành phần lớp nhân vật XQuery bằng cách sử dụng\ p unicodepropertyhoặc nghịch đảo\ p unicodepropertykèo bóng đá euro được hỗ trợ.

  • POSIX diễn giải kèo bóng đá euro lớp ký tự như\ w(xemBảng 9.21) Theo địa phương phổ biến (mà bạn có thể kiểm soát bằng cách đính kèm Ađối chiếumệnh đề cho toán tử hoặc chức năng). XQuery chỉ định các lớp này bằng cách tham chiếu đến các thuộc tính ký tự unicode, do đó hành vi tương đương chỉ thu được với kèo bóng đá euro locale tuân theo các quy tắc Unicode.

  • Tiêu chuẩn SQL (kèo bóng đá euro phải XQuery) cố gắng phục vụ cho nhiều biến thể củaNewlinehơn Posix. kèo bóng đá euro tùy chọn khớp nhạy cảm với dòng mới được mô tả ở trên chỉ xem xét ASCII NL (\ n) để trở thành kèo bóng đá euro dòng mới, nhưng SQL sẽ có chúng tôi đối xử với CR (\ r), CRLF (\ r \ n) (kèo bóng đá euro dòng mới kiểu Windows) và kèo bóng đá euro số ký tự chỉ dành cho Unicode như Dòng phân tách (U+2028) là Newlines. Đáng chú ý,.\ Snên đếm\ r \ nLà kèo bóng đá euro ký tự không phải hai theo SQL.

  • của Escapes nhập ký tự được mô tả trongBảng 9.20, XQuery chỉ hỗ trợ\ n, \ r\ T.

  • XQuery kèo bóng đá euro hỗ trợ[:tên:]Cú pháp cho kèo bóng đá euro lớp ký tự trong biểu thức khung.

  • 126568_126675Bảng 9.22.

  • Các kèo bóng đá euro Metasyntax được mô tả trongPhần 9.7.3.4kèo bóng đá euro tồn tại trong XQuery.

  • kèo bóng đá euro chữ cái cờ biểu thức chính quy được xác định bởi xQuery có liên quan đến nhưng không giống như kèo bóng đá euro chữ cái tùy chọn cho POSIX (Bảng 9.24). Trong khiiQTùy chọn hoạt động giống nhau, những người khác kèo bóng đá euro:

    • XQuery'sS(Cho phép DOT khớp với dòng mới) vàM(cho phép^$Để khớp tại kèo bóng đá euro cờ Newlines) cung cấp quyền truy cập vào kèo bóng đá euro hành vi tương tự như Posix'sn, PWCờ, nhưng họ làmkèo bóng đá euroPhù hợp với hành vi của Posix'sSMcờ. Lưu ý cụ thể rằng DOT-matches-Newline là hành vi mặc định trong POSIX nhưng kèo bóng đá euro phải xQuery.

    • XQuery'sx(Bỏ qua cờ trắng trong kèo bóng đá euro) khác nhau đáng chú ý với cờ chế độ mở rộng của Posix. Posix'sxcờ cũng cho phép#Để bắt đầu nhận xét trong kèo bóng đá euro và POSIX sẽ không bỏ qua một ký tự khoảng trắng sau một dấu gạch chéo ngược.