logo

Regex Tutorial - Hur skriver man regelbundna uttryck?

Ett regelbundet uttryck (regex) är en sekvens av tecken som definierar ett sökmönster. Så här skriver du regelbundna uttryck:

om annat i bash-skal
  1. Börja med att förstå de specialtecken som används i regex som '.' '*' '+' '?' och mer.
  2. Välj ett programmeringsspråk eller verktyg som stöder regex som Python Perl eller GREP.
  3. Skriv ditt mönster med hjälp av specialtecken och bokstavliga karaktärer.
  4. Använd lämplig funktion eller metod för att söka efter mönstret i en sträng.

Exempel:

  1. För att matcha en sekvens av bokstavliga karaktärer skriver du helt enkelt dessa karaktärer i mönstret.
  2. För att matcha en enda karaktär från en uppsättning möjligheter, använd fyrkantiga konsoler, t.ex. [0123456789] matchar alla siffror.
  3. För att matcha noll eller fler förekomster av föregående uttryck, använd STAR (*) symbolen.
  4. För att matcha en eller flera förekomster av föregående uttryck använder du plus (+) symbolen.
  5. Det är viktigt att notera att regex kan vara komplex och svår att läsa så det rekommenderas att använda verktyg som Regex -testare för att felsöka och optimera dina mönster.

Ett regelbundet uttryck (ibland kallat ett rationellt uttryck) är en sekvens av tecken som definierar ett sökmönster huvudsakligen för användning i mönstermatchning med strängar eller strängmatchning, dvs. 'Hitta och ersätta' som operationer. Regelbundna uttryck är ett generaliserat sätt att matcha mönster med sekvenser av tecken. Det används på alla programmeringsspråk som C ++ Java och Python. 



Vad är ett regelbundet uttryck och vad gör det så viktigt?  

Regex används i Google Analytics I URL -matchning i stöd för sökning och ersätter i de flesta populära redaktörer som Sublime Notepad ++ konsoler Google Docs och Microsoft Word.

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

Ovanstående regelbundna uttryck kan användas för att kontrollera om en given uppsättning tecken är en e -postadress eller inte. 

Hur man skriver regelbundna uttryck?

Det finns vissa element som används för att skriva regelbundna uttryck som nämnts nedan:



1. Repeaters (* + och {})  

Dessa symboler fungerar som repeater och berättar för datorn att det föregående karaktären ska användas i mer än bara en gång.

2. Asterisksymbolen ( *)

Den berättar för datorn att matcha föregående karaktär (eller uppsättning tecken) i 0 eller fler gånger (upp till oändligt).

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

3. Plus -symbolen ( +)  

Den berättar för datorn att upprepa föregående tecken (eller uppsättning tecken) åtminstone en eller flera gånger (upp till oändligt).



konvertering av datum till sträng
    Example :    The regular expression ab+c will give abc abbc  
abbbc … and so on.

4. De lockiga hängslen {...}  

Den berättar för datorn att upprepa det föregående tecken (eller uppsättningen av tecken) så många gånger som värdet inuti denna konsol.

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

5. Wildcard (.) 

POT -symbolen kan ta platsen för alla andra symboler, varför den kallas Wildcard -karaktären.

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

6. Valfritt tecken (?)  

Den här symbolen berättar för datorn att det föregående karaktären kanske inte är närvarande i strängen som ska matchas.

    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. Symbolen Caret ( ^) ( Ställ in position för matchen)

Carets -symbolen berättar för datorn att matchen måste börja i början av strängen eller linjen.

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

8. Symbolen Dollar ($)  

Den berättar för datorn att matchen måste ske i slutet av strängen eller före N i slutet av linjen eller strängen.

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

9. Karaktärsklasser  

En karaktärsklass matchar någon av en uppsättning tecken. Det används för att matcha det mest grundläggande elementet i ett språk som en bokstav en siffra en rymd en symbol etc. 


s : Matchar alla Whitespace -tecken som Space och Tab.
S : Matchar alla icke-Whitespace-karaktärer.
d : matchar alla siffriga tecken.
D: Matchar alla icke-siffriga tecken.
I : matchar alla ordkaraktärer (i princip alfa-numerisk)
I : Matchar alla icke-ordkaraktärer.
b : Matchar alla ordgränser (detta skulle inkludera Spaces Dash Commas semi-kolon etc.
[set_of_characters]: Matchar varje enskilt tecken i set_of_characters. Som standard är matchen skiftkänslig.

partiell differentiering i latex
    Example :    [abc] will match characters ab and c in any string.

10. [^set_of_characters] Negation:  

Matchar varje enskild karaktär som inte finns i set_of_characters. Som standard är matchen skiftkänslig.

    Example :    [^abc] will match any character except abc .

11. [First-Last] Karaktärsintervall:  

Matchar varje enskild karaktär i intervallet från första till sista.

    Example :    [a-zA-z] will match any character from a to z or A to Z.

12. Escape Symbol () 

Om du vill matcha för den faktiska '+' '.' Etc. Tecken lägger till ett backslash () innan den karaktären. Detta kommer att säga datorn att behandla följande tecken som en sökkaraktär och överväga det för ett matchande mönster.

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

13. Gruppera tecken ()  

En uppsättning olika symboler för ett regelbundet uttryck kan grupperas för att fungera som en enda enhet och bete sig som ett block för detta måste du linda in det regelbundna uttrycket i parentesen ().

java array dynamisk
    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. Vertikal bar (|)  

Matchar något element som är separerat med den vertikala stapel (|) -tecknet.

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

15. Antal 

Bakreferens: Tillåter att en tidigare matchad underuttryck (uttryckt eller inneslutet inom cirkulära parentes) kan identifieras därefter i samma regelbundna uttryck. n betyder att grupp som är inneslutna inom n-th-konsolen kommer att upprepas vid nuvarande 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. Hur (?# Kommentar) 

Inline Kommentar: Kommentaren slutar vid den första avslutande parentesen.

    Example :    bA(?#This is an inline comment)w+b

17. # [till slutet av linjen] 

X-Mode-kommentar. Kommentaren börjar på en ouppmanad # och fortsätter till slutet av linjen.

    Example :    (?x)bAw+b#Matches words starting with A