Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dopasować parzyste lub nieparzyste liczby liter za pomocą wyrażenia regularnego dla mysql

Parzystą liczbę A można wyrazić jako (AA)+ (jedna lub więcej instancji AA; więc będzie pasować do AA, AAAA, AAAAAA...). Nieparzystą liczbę G można wyrazić jako G(GG)* (jeden G po którym następuje zero lub więcej wystąpień GG , więc będzie to pasować do G, GGG, GGGGG...).

Połącz to i masz:

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

Ponieważ jednak silniki regex będą próbowały dopasować jak najwięcej, to wyrażenie będzie pasować do podłańcucha AAAGGGTC (np. AAGGGTC )! Aby temu zapobiec, możesz użyć negatywnego spojrzenia w tył aby upewnić się, że znak przed pierwszym A nie jest kolejnym A :

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

...z wyjątkiem tego, że MySQL nie obsługuje obejść w swoich wyrażeniach regularnych.

Zamiast tego możesz określić, że wzorzec albo zaczyna się na początku ciągu (zakotwiczony przez ^ ) lub jest poprzedzony znakiem, który nie jest A:

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

Pamiętaj jednak, że w przypadku tego wzorca zostanie przechwycony dodatkowy znak, jeśli wzorzec nie zostanie znaleziony na początku ciągu, więc będziesz musiał obciąć pierwszy znak, jeśli nie jest to 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. wyślij e-mail z rekordami pobierania mysql

  2. Używanie zmiennych PHP SESSION do przechowywania wyników zapytań MySQL

  3. Niemieckie umlauty w MYSQL INSERT

  4. MySQL Workbench:Błąd w zapytaniu (1064):Błąd składni w pobliżu „VISIBLE” w wierszu 1

  5. Jak budować komentarze w wątkach z 1 lub 2 zapytaniami?