logo

Regex Tutorial – Hvordan skriver man regulære udtryk?

Et regulært udtryk (regex) er en sekvens af tegn, der definerer et søgemønster. Sådan skriver du regulære udtryk:

  1. Start med at forstå de specialtegn, der bruges i regex, såsom ., *, +, ? og mere.
  2. Vælg et programmeringssprog eller værktøj, der understøtter regex, såsom Python, Perl eller grep.
  3. Skriv dit mønster ved hjælp af specialtegn og bogstavelige tegn.
  4. Brug den relevante funktion eller metode til at søge efter mønsteret i en streng.

Eksempler:

  1. For at matche en sekvens af bogstavelige tegn skal du blot skrive disse tegn i mønsteret.
  2. For at matche et enkelt tegn fra et sæt muligheder skal du bruge firkantede parenteser, f.eks. [0123456789] matcher ethvert ciffer.
  3. Brug stjerne (*)-symbolet for at matche nul eller flere forekomster af det foregående udtryk.
  4. For at matche en eller flere forekomster af det foregående udtryk skal du bruge plus (+) symbolet.
  5. Det er vigtigt at bemærke, at regex kan være kompleks og svær at læse, så det anbefales at bruge værktøjer som regex-testere til at fejlsøge og optimere dine mønstre.

Et regulært udtryk (nogle gange kaldet et rationelt udtryk) er en sekvens af tegn, der definerer et søgemønster, hovedsageligt til brug i mønstermatchning med strenge eller strengmatchning, dvs. find og erstat lignende operationer. Regulære udtryk er en generaliseret måde at matche mønstre med sekvenser af tegn. Det bruges i alle programmeringssprog som C++, Java og Python.

Hvad er et regulært udtryk, og hvad gør det så vigtigt?

Regex bruges i Google Analytics i URL-matching i understøttende søgning og erstatter i de fleste populære editorer som Sublime, Notepad++, Brackets, Google Docs og Microsoft Word.



  Example :    Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$>

Ovenstående regulære udtryk kan bruges til at kontrollere, om et givet sæt tegn er en e-mailadresse eller ej.

Hvordan skriver man regulære udtryk?

Der er visse elementer, der bruges til at skrive regulære udtryk som nævnt nedenfor:

forbindelser i java

1. Repeatere ( *, + og { } )

Disse symboler fungerer som repeatere og fortæller computeren, at det foregående tegn skal bruges mere end én gang.

2. Stjernesymbolet ( * )

Det fortæller computeren at matche det foregående tegn (eller sæt af tegn) 0 eller flere gange (op til uendeligt).

  Example :   The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>

3. Plus-symbolet ( + )

Det fortæller computeren at gentage det foregående tegn (eller sæt af tegn) mindst en eller flere gange (op til uendeligt).

  Example :   The regular expression ab+c will give abc, abbc, abbbc, … and so on.>

4. De krøllede seler { … }

Det fortæller computeren at gentage det foregående tegn (eller sæt af tegn) lige så mange gange som værdien inden for denne parentes.

  Example :   {2} means that the preceding character is to be repeated 2  times, {min,} means the preceding character is matches min or more  times. {min,max} means that the preceding character is repeated at least min & at most max times.>

5. Jokertegn ( . )

Priksymbolet kan træde i stedet for et hvilket som helst andet symbol, derfor kaldes det jokertegn.

hurtig sortering
  Example :    The Regular expression .* will tell the computer that any character can be used any number of times.>

6. Valgfrit tegn ( ? )

Dette symbol fortæller computeren, at det foregående tegn muligvis er til stede i strengen, der skal matches.

  Example :    We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be  present in the name of file format.>

7. Caret-symbolet ( ^ ). ( Indstilling af position for kampen)

Caret-symbolet fortæller computeren, at kampen skal starte i begyndelsen af ​​strengen eller linjen.

  Example :   ^d{3} will match with patterns like '901' in '901-333-'.>

8. Dollarsymbolet ( $ ).

sdlc

Den fortæller computeren, at matchningen skal ske i slutningen af ​​strengen eller før i slutningen af ​​linjen eller strengen.

  Example :   -d{3}$ will match with patterns like '-333' in '-901-333'.>

9. Karakterklasser

En karakterklasse matcher enhver af et sæt tegn. Det bruges til at matche det mest grundlæggende element i et sprog som et bogstav, et ciffer, et mellemrum, et symbol osv.

s : matcher alle mellemrumstegn såsom mellemrum og tabulator.
S : matcher alle tegn uden mellemrum.
d : matcher ethvert ciffertegn.
D: matcher alle ikke-cifrede tegn.
I : matcher et hvilket som helst ordtegn (grundlæggende alfanumerisk)
I : matcher ethvert ikke-ord-tegn.
 : matcher enhver ordgrænse (dette vil omfatte mellemrum, bindestreger, kommaer, semikolon osv.
[sæt_af_tegn]: Matcher ethvert enkelt tegn i set_of_characters. Som standard skelnes der mellem store og små bogstaver.

  Example :   [abc] will match characters a,b and c in any string.>

10. [^sæt_af_tegn] Negation:

Matcher ethvert enkelt tegn, der ikke er i sæt_af_tegn. Som standard skelnes der mellem store og små bogstaver.

  Example :   [^abc] will match any character except a,b,c .>

11. [først-sidste] Karakterområde:

Matcher ethvert enkelt tegn i intervallet fra første til sidste.

java char til int
  Example :   [a-zA-z] will match any character from a to z or A to Z.>

12. Flugtsymbolet ( )

Hvis du vil matche for de faktiske '+', '.' osv. tegn, skal du tilføje en omvendt skråstreg ( ) før dette tegn. Dette vil fortælle computeren at behandle følgende tegn som et søgetegn og overveje det for et matchende mønster.

  Example :   d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>

13. Gruppering af tegn ( )

Et sæt af forskellige symboler for et regulært udtryk kan grupperes sammen for at fungere som en enkelt enhed og opføre sig som en blok, for dette skal du pakke det regulære udtryk i parentes( ).

  Example :   ([A-Z]w+) contains two different elements of the regular  expression combined together. This expression will match any pattern  containing uppercase letter followed by any character.>

14. Lodret bjælke ( | )

Matcher ethvert element adskilt af det lodrette streg (|).

  Example :   th(e|is|at) will match words - the, this and that.>

15. ummer

Tilbagehenvisning: gør det muligt at identificere et tidligere matchet underudtryk (udtryk fanget eller indesluttet i cirkulære parenteser ) efterfølgende i det samme regulære udtryk. betyder, at gruppen indesluttet i den n-te parentes vil blive gentaget på den aktuelle position.

  Example :   ([a-z])1 will match ee in Geek because the character  at second position is same as character at position 1 of the match.>

16. Hvordan (?# kommentar)

Indlejret kommentar: Kommentaren slutter ved den første afsluttende parentes.

  Example :   A(?#This is an inline comment)w+>

17. # [til slutningen af ​​linjen]

X-mode kommentar. Kommentaren starter ved et # uden escape og fortsætter til slutningen af ​​linjen.

java matematik
  Example :   (?x)Aw+#Matches words starting with A>