PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Grup penangkapan ekspresi reguler PostgreSQL di pilih

Jika Anda mencoba menangkap kecocokan ekspresi reguler yang dihasilkan dari ekspresi, maka substring akan melakukan triknya:

select substring ('I have a dog', 'd[aeiou]g')

Akan mengembalikan kecocokan apa pun, dalam hal ini "anjing."

Saya pikir tautan yang hilang dari apa yang Anda coba di atas adalah Anda harus meletakkan ekspresi yang ingin Anda tangkap dalam tanda kurung. regexp_matches akan berfungsi dalam kasus ini (apakah Anda menyertakan tanda kurung di sekitar ekspresi yang ingin Anda tangkap), tetapi akan mengembalikan larik teks dengan setiap kecocokan. Jika cocok, substring agak nyaman.

Jadi, putar kembali ke contoh Anda, jika Anda mencoba mengembalikan stuff jika dan hanya jika berada di awal kolom:

select substring (column, '^(stuff)')

atau

select (regexp_matches (column, '^(stuff)'))[1]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi Npgsql dengan sertifikat ssl di .net core web api

  2. Postgres:hapus seluruh basis data sebelum membuat kembali/mengisi ulang dari skrip bash

  3. Bagaimana cara menggunakan Flask/Peewee dengan Heroku?

  4. Kueri PostgreSQL berjalan lebih cepat dengan pemindaian indeks, tetapi mesin memilih hash join

  5. PostgreSQL pilih nilai dan kenaikan sekaligus