I dagens värld har Reguljära uttryck blivit ett ämne av allt större intresse för samhället. Med den snabba teknikutvecklingen har betydelsen av Reguljära uttryck tagit en ledande roll i flera aspekter av det dagliga livet. Från dess påverkan på ekonomin till dess påverkan på populärkulturen har Reguljära uttryck varit föremål för debatt och analys i olika kretsar. I den här artikeln kommer vi att utforska relevansen av Reguljära uttryck i det moderna samhället, undersöka dess inverkan på olika sfärer och dess roll i att forma framtiden.
Inom datavetenskap är reguljära uttryck (engelska: regular expressions, ofta förkortat regex eller regexp) en notation för att beskriva vissa mängder av strängar. Ett uttryck består av en sträng som följer särskilda syntaxregler. Reguljära uttryck används i många texteditorer och programspråk för sökning och textmanipulation.
Den exakta syntaxen för reguljära uttryck kan variera. Men det finns några grundläggande begrepp som är gemensamma för många tillämpningar.
I sin enklaste form är ett reguljärt uttryck ett enskilt tecken som matchar en delsträng som utgör själva tecknet. Exempelvis, det reguljära uttrycket "a" matchar tecknet "a" i ordet "katt". Med hjälp av operatorer kan man bygga ihop uttryck som matchar komplicerade mönster i strängar.
De grundläggande operationerna är:
|
. Det används för att matcha ett av flera alternativ. Uttrycket hund|katt
matchar både strängen "hund" och strängen "katt".go*gle
matchar en oändlig mängd av strängar: "ggle", "gogle", "google", "gooogle", o.s.v.G(äv|ef)le
som matchar "Gävle" och "Gefle".Dessutom förekommer i de flesta implementationer även:
ok
bok, tok och kok. Man kan även beskriva klassen med ett intervall, till exempel
eller
.\d
för
, det vill säga vilken siffra som helst inom spannet 0-9..
. Matchar vilket tecken som helst.?
för att ange antingen 0 eller 1 upprepning och +
används för att ange 1 eller flera upprepningar.\b
som avgränsare för ord.Anta att vi vill hitta ett datum som är inbäddat i en text:
Vi kan då matcha datumet med uttrycket:
+-+-+
eller, i kortversion: \d+-\d+-\d+
Men det skulle även matcha exempelvis 0-0-0 eller 1234-493456-8645, som inte är korrekta datum. För att matcha ett korrekt datum, begränsat till 1900- och 2000-talet, kan man använda exempelvis:
\b(19|20)\d\d-(0|1)-(0|\d|3)\b
Skriptspråken Perl, Ecmascript och Tcl har reguljära uttryck semantiskt inbyggda i själva språket, medan de allra flesta programspråk, verktyg och miljöer har någon form av stöd för användandet av reguljära uttryck implementerat.