Groovy - Biểu thức chính quy
Biểu thức chính quy là một mẫu được sử dụng để tìm các chuỗi con trong văn bản. Groovy hỗ trợ biểu thức chính quy nguyên bản bằng cách sử dụng biểu thức ~ ”regex”. Văn bản kèm theo trong trích dẫn biểu thị biểu thức để so sánh.
Ví dụ, chúng ta có thể tạo một đối tượng biểu thức chính quy như hình dưới đây:
def regex = ~'Groovy'
Khi toán tử Groovy = ~ xuất hiện như một vị từ (biểu thức trả về một Boolean) trong if và while(xem Chương 8), toán hạng chuỗi ở bên trái được so khớp với toán hạng biểu thức chính quy ở bên phải. Do đó, mỗi điều sau đây mang lại giá trị true.
Khi xác định biểu thức chính quy, các ký tự đặc biệt sau có thể được sử dụng:
Có hai ký tự vị trí đặc biệt được sử dụng để biểu thị đầu và cuối dòng: dấu mũ (∧) và dấu đô la ($).
Biểu thức chính quy cũng có thể bao gồm các bộ định lượng. Dấu cộng (+) đại diện cho một hoặc nhiều lần, được áp dụng cho phần tử đứng trước của biểu thức. Dấu hoa thị (*) được sử dụng để biểu thị không hoặc nhiều lần xuất hiện. Dấu chấm hỏi (?) Biểu thị không hoặc một lần.
Siêu ký tự {và} được sử dụng để đối sánh với một số trường hợp cụ thể của ký tự đứng trước.
Trong biểu thức chính quy, ký hiệu dấu chấm (.) Có thể đại diện cho bất kỳ ký tự nào. Đây được mô tả là ký tự đại diện.
Một biểu thức chính quy có thể bao gồm các lớp ký tự. Một tập hợp các ký tự có thể được đưa ra dưới dạng một chuỗi ký tự đơn giản nằm trong siêu ký tự [và] như trong [aeiou]. Đối với phạm vi chữ cái hoặc số, bạn có thể sử dụng dấu gạch ngang như trong [a – z] hoặc [a – mA – M]. Phần bổ sung của một lớp ký tự được biểu thị bằng dấu mũ đứng đầu trong dấu ngoặc vuông như trong [∧a – z] và đại diện cho tất cả các ký tự khác với những ký tự được chỉ định. Dưới đây là một số ví dụ về Biểu thức chính quy
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'