REGEXP_LIKE

returnerar true om strängen matchar det reguljära uttrycket. Denna funktion liknar liknande predikat, förutom att den använder reguljära uttryck snarare än enkel jokertecken matchning.

Syntax

REGEXP_LIKE( Sträng, mönster) 

parametrar

string

VARCHAR eller LONG VARCHAR sträng för att söka efter ett reguljärt uttrycksmönstermatchning. Om sträng finns i en __raw__ kolumn i en flex-eller kolumntabell, kasta sträng till en LONG VARCHAR innan du söker efter mönster.

pattern

en sträng som innehåller det reguljära uttrycket som matchar strängen. Syntaxen för det reguljära uttrycket är kompatibel med Perl 5 reguljära uttryckssyntaxen. Se dokumentationen för Perl reguljära uttryck för mer information.

modifiers

en eller flera flaggor med enstaka tecken som ändrar hur det reguljära uttrycket hittar matchningar i sträng:

b

behandla strängar som binära oktetter, snarare än UTF-8 tecken.

c

tvinga matchningen att vara skiftlägeskänslig (standard).

i

tvinga matchen att vara skiftlägeskänslig.

m

behandla strängen för att matcha som flera rader. Med hjälp av denna modifierare matchar linjens start (^) och slutet på raden ($) reguljära uttrycksoperatörer radbrytningar (\n) I strängen. Utanm modifieraren matchar start och slut på radoperatörer endast början och slutet på strängen.

n

Tillåt operatorn för Reguljärt uttryck med ett enda tecken (.) att matcha en ny rad (\n). Utann modifieraren matchar. operatören alla tecken utom en ny rad.

x

Lägg till kommentarer till dina reguljära uttryck. Genom att användax modifieraren ignoreras alla icke-avformade mellanslag och kommentarer i det reguljära uttrycket. Kommentarer börjar med ett hash-tecken (#) och slutar med en ny rad (\n). Alla mellanslag i det reguljära uttrycket som du vill matchas i strängar måste rymmas med ett backslash (\) tecken.

anteckningar

denna funktion fungerar på UTF-8 strängar med standardlokalen, även om lokalen har ställts in på något annat.

om du porterar en fråga med reguljärt uttryck från en Oracle-databas, kom ihåg att Oracle anser att en nolllängdssträng motsvarar NULL, medan Vertica inte gör det.

exempel

detta exempel skapar en tabell som innehåller flera strängar för att visa reguljära uttryck.

Välj alla poster i tabellen som innehåller bokstaven ”a.”

=> välj v från T där REGEXP_LIKE(v,'A'); v ------ Aaa aaa abc abc1(4 rader) 

Välj alla rader i tabellen som börjar med bokstaven ”a”.”

=> välj v från t där REGEXP_LIKE(v,'^A'); v ------ AAA abc abc1(3 rader)

Välj alla rader som innehåller delsträngen ” aa.”

=> välj v från t där REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 rader)

Markera alla rader som innehåller en siffra.

= > välj v från t där REGEXP_LIKE (v, '\d'); v ------ 123 abc1 (2 rader)

Välj alla rader som innehåller delsträngen ”aaa.”

=> välj v från T där REGEXP_LIKE(v,'aaa'); v ----- aaa(1 rad)

Välj alla rader som innehåller substringen” aaa ” Med skiftlägeskänslig matchning.

=> välj v från T där REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 rader)

Välj rader som innehåller underlaget ”a b c.”

=> välj V från t där regexp_like(V,'A B C'); v - - - (0 rader)

Välj rader som innehåller underlaget ”A b c” och ignorerar mellanslag i det reguljära uttrycket.

=> välj v från t där REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 rader) 

Lägg till flera rader för att visa med ”m”-modifieraren.

Välj rader som börjar med substring ”Record” och slutar med substring ”line 2.”

=> välj v från t där REGEXP_LIKE(v,'^Record.* linje 2$'); V - - - (0 rader)

Välj rader som börjar med substringen” Record ”och slutar med substringen” line 2″, som behandlar flera rader som separata strängar.

Related Posts

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *