Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để bạn kết hợp các số chẵn của chữ cái hoặc số lẻ của chữ cái bằng cách sử dụng regexp cho mysql

Một số chẵn của A có thể được biểu thị dưới dạng (AA)+ (một hoặc nhiều bản sao của AA; vì vậy nó sẽ phù hợp với AA, AAAA, AAAAAA ...). Một số G lẻ có thể được biểu thị dưới dạng G(GG)* (một G theo sau là không hoặc nhiều bản sao của GG , do đó sẽ khớp với G, GGG, GGGGG ...).

Kết hợp điều đó lại với nhau và bạn có:

/(AA)+G(GG)*TC/

Tuy nhiên, vì các công cụ regex sẽ cố gắng khớp nhiều nhất có thể, nên biểu thức này sẽ thực sự khớp với một chuỗi con của AAAGGGTC (tức là. AAGGGTC )! Để ngăn chặn điều đó, bạn có thể sử dụng cái nhìn tiêu cực để đảm bảo rằng ký tự trước A đầu tiên không phải là A khác :

/(?<!A)(AA)+G(GG)*TC/

... ngoại trừ việc MySQL không hỗ trợ giao diện trong regexes của chúng.

Thay vào đó, những gì bạn có thể làm là chỉ định rằng mẫu bắt đầu ở đầu chuỗi ( được neo bởi ^ ), hoặc đứng trước một ký tự không phải là A:

/(^|[^A])(AA)+G(GG)*TC/

Nhưng lưu ý rằng với mẫu này, một ký tự phụ sẽ được ghi lại nếu mẫu không được tìm thấy ở đầu chuỗi, vì vậy bạn sẽ phải cắt ký tự đầu tiên nếu nó không phải là A.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql:tại sao so sánh 'chuỗi' với 0 lại cho kết quả đúng?

  2. Nhóm một giá trị được phân tách bằng dấu phẩy trên dữ liệu chung

  3. Perl:Cập nhật nhiều hàng bằng một lệnh gọi MySQL

  4. MySQL:Cách chèn nhiều bản ghi với cùng một ID tự động tăng

  5. MySQL:Sự kết hợp giữa kết hợp bên trái với sự kết hợp bên phải