Biểu thức chính quy

Bảng dưới đây liệt kê các biểu thức chính quy có thể được sử dụng để tạo từ điển cho một ngôn ngữ tùy chỉnh.

Lưu ý:

  1. Để sử dụng biểu tượng biểu thức chính quy làm ký tự thông thường, đặt trước bằng dấu gạch chéo ngược. Ví dụ: [t-v]x+ thể hiện tx, txx, txx, v.v.., ux, uxx, v.v.., trong khi \[t-v\]x+ thể hiện [t-v]x, [t-v]xx, [t-v]xxx, v.v..
  2. Để nhóm các thành phần biểu thức chính quy, sử dụng dấu ngoặc đơn. Ví dụ: (a|b)+|c thể hiện c hoặc mọi kết hợp như abbbaaabbb, ababab, v.v.. (một từ có độ dài khác 0 trong đó có thể có bất kỳ số nào có a và b trong thứ tự bất kỳ), còn a|b+|c thể hiện a, c, và b, bb, bbb, v.v..

Ví dụ

Giả sử bạn đang nhận dạng bảng có ba cột: ngày sinh, tên và địa chỉ email. Trong trường hợp này, bạn có thể tạo hai ngôn ngữ mới, Dữ liệu và Địa chỉ và chỉ định các biểu thức chính quy sau cho chúng.

Biểu thức chính quy cho ngày:

Số biểu thị ngày có thể bao gồm một số (1, 2, v.v..) hoặc hai số (02, 12), nhưng không thể bằng 0 (00 hoặc 0). Vì vậy, biểu thức chính quy cho ngày trông như sau: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

Biểu thức chính quy cho tháng trông như sau: ((|0)[1-9])|(10)|(11)|(12).

Biểu thức chính quy cho năm trông như sau: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Giờ đây, tất cả những thứ chúng ta cần là kết hợp tất cả chúng với nhau và tách các số bằng dấu chấm (ví dụ: 1.03.1999). Dấu chấm là biểu tượng biểu thức chính quy, vì vậy bạn phải đặt dấu gạch chéo ngược (\) trước biểu tượng đó. Do đó, biểu thức chính quy cho ngày đầy đủ trông như sau:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])

Biểu thức chính quy cho địa chỉ email:

[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+

14.01.2020 17:26:22

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.