REGEXP_LIKE

Returnerer sann hvis strengen samsvarer med det regulære uttrykket. Denne funksjonen ligner PÅ LIKE-predikatet, bortsett fra at den bruker regulære uttrykk i stedet for enkel jokertegnmatching.

Syntaks

REGEXP_LIKE( streng, mønster )

Parametere

modifiers
n
string

VARCHAR eller LONG VARCHAR Streng for å søke etter et regulært uttrykksmønster. Hvis streng finnes i en__raw__ kolonne i en flex-eller kolonnetabell, kast streng til enLONG VARCHAR før du søker etter mønster.

pattern

en streng som inneholder det regulære uttrykket for å matche strengen. Syntaksen til det regulære uttrykket er kompatibel Med perl 5 regulære uttrykk syntaks. Se Perl Regulære Uttrykk Dokumentasjon for detaljer.

b

behandle strenger som binære oktetter, i stedet for utf-8 tegn.

c

Tving treffet til å være store og små bokstaver (standard).

i

Tving treffet til å være små bokstaver.

m

Behandle strengen for å matche som flere linjer. Ved hjelp av denne modifikatoren samsvarer linjeskift (^) og slutten av linjen ($) regulære uttrykksoperatorer linjeskift (\n) i strengen. Uten modifikatorenm samsvarer start og slutt på linjeoperatorer bare starten og slutten av strengen.

Tillat operatoren for enkelt tegn med regulært uttrykk (.) å matche en ny linje (\n). Utenn modifier, samsvarer. – operatoren med alle tegn unntatt en linjeskift.

x

Legg til kommentarer i dine regulære uttrykk. Hvis du bruker x – modifikatoren, ignorerer funksjonen alle ubeskyttede mellomrom og kommentarer i det vanlige uttrykket. Kommentarer starter med et hash-tegn (#) og slutter med en ny linje (\n). Alle mellomrom i det regulære uttrykket som du vil matches i strenger, må unngås med et omvendt skråstrek (\) tegn.

Merknader

denne funksjonen opererer på utf – 8-strenger med standard nasjonal innstilling, selv om nasjonal innstilling er satt til noe annet.

hvis Du porting et regulært uttrykk spørring fra En Oracle-database, husk At Oracle anser en null-lengde streng tilsvarer NULL, Mens Vertica ikke.

Eksempler

dette eksemplet oppretter en tabell som inneholder flere strenger for å demonstrere regulære uttrykk.

Velg alle poster i tabellen som inneholder bokstaven «a».

=> VELG v FRA t DER REGEXP_LIKE(v,'a'); V - - - - - Aaa aaa abc abc1(4 rader) 

Velg alle radene i tabellen som begynner med bokstaven «a.»

=> VELG v FRA t DER REGEXP_LIKE(v,'^a'); v ------ aaa abc abc1 (3 rader) 

Velg alle rader som inneholder substringen «aa.»

=> VELG v FRA T HVOR REGEXP_LIKE(v,'aa'); V ----- Aaa aaa(2 rader) 

Velg alle rader som inneholder et siffer.

=> VELG v FRA T HVOR REGEXP_LIKE (v, '\d'); v ------ 123 abc1 (2 rader) 

Velg alle rader som inneholder substringen » aaa.»

=> VELG v FRA T DER REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rad)

Velg alle rader som inneholder substringen» aaa » ved hjelp av små og store bokstaver.

=> VELG v FRA T DER REGEXP_LIKE(v,'aaa', 'i'); V ----- Aaa aaa(2 rader)

Velg rader som inneholder substringen «a b c.»

=> velg v fra t hvor regexp_like(v,'a b c'); v - - - (0 rader) 

Velg rader som inneholder substringen «a b c» som ignorerer mellomrom i det regulære uttrykket.

=> VELG v FRA t HVOR REGEXP_LIKE(v,'a b c','x'); v - - - - - abc abc1 (2 rader) 

Legg til flere linjer rader for å demonstrere ved hjelp av «m» modifikatoren.

Velg rader som starter med substringen» Record «og slutter med substringen» linje 2.»

=> VELG v FRA T HVOR REGEXP_LIKE (v,' ^ Post.* linje 2$'); v - - - (0 rader) 

Velg rader som starter med substringen «Record» og slutter med substringen «line 2», og behandler flere linjer som separate strenger.

Related Posts

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *