Edellytys: Säännöllinen lauseke esimerkein | Python
Säännöllinen lauseke (jota kutsutaan joskus rationaaliseksi lausekkeeksi) on merkkijono, joka määrittelee hakukuvion, pääasiassa käytettäväksi merkkijonojen täsmäykseen tai merkkijonovastaamiseen, eli etsi- ja korvaamistoimintoihin. Säännölliset lausekkeet ovat yleinen tapa sovittaa kuvioita merkkijonoihin.
Moduuli Säännölliset lausekkeet (RE) määrittää joukon merkkijonoja (kuvio), joka vastaa sitä. Ymmärtääksesi RE-analogian,MetaCharacters>ovat hyödyllisiä, tärkeitä ja niitä käytetään moduulin toiminnoissare>.
Metamerkkejä on yhteensä 14, ja niistä keskustellaan, kun ne seuraavat funktioita:
Used to drop the special meaning of character following it (discussed below) [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR (Matches with any of the characters separated by it. * Any number of occurrences (including 0 occurrences) + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. () Enclose a group of REs> re.search()
re.search()>menetelmä joko palauttaa Ei mitään (jos kuvio ei täsmää) tai are.MatchObject>joka sisältää tietoja merkkijonon vastaavasta osasta. Tämä menetelmä pysähtyy ensimmäisen osuman jälkeen, joten se sopii paremmin säännöllisen lausekkeen testaamiseen kuin tietojen poimimiseen.
Esimerkki:
Python 3
java logo
# A Python program to demonstrate working of re.match().> import> re> > # Lets use a regular expression to match a date string> # in the form of Month name followed by day number> regex>=> r>'([a-zA-Z]+) (d+)'> > match>=> re.search(regex,>'I was born on June 24'>)> > if> match !>=> None>:> > ># We reach here when the expression '([a-zA-Z]+) (d+)'> ># matches the date string.> > ># This will print [14, 21), since it matches at index 14> ># and ends at 21.> >print>(>'Match at index % s, % s'> %> (match.start(), match.end()))> > ># We us group() method to get all the matches and> ># captured groups. The groups contain the matched values.> ># In particular:> ># match.group(0) always returns the fully matched string> ># match.group(1) match.group(2), ... return the capture> ># groups in order from left to right in the input string> ># match.group() is equivalent to match.group(0)> > ># So this will print 'June 24'> >print>(>'Full match: % s'> %> (match.group(>0>)))> > ># So this will print 'June'> >print>(>'Month: % s'> %> (match.group(>1>)))> > ># So this will print '24'> >print>(>'Day: % s'> %> (match.group(>2>)))> > else>:> >print>(>'The regex pattern does not match.'>)> |
>
>
aseta java
Lähtö:
Match at index 14, 21 Full match: June 24 Month: June Day: 24>
re.findall()
Palauta kaikki ei-päällekkäiset kuvion osumat merkkijonoluettelona. Merkkijono skannataan vasemmalta oikealle, ja osumat palautetaan löydettyssä järjestyksessä.
Esimerkki:
Python 3
# A Python program to demonstrate working of> # findall()> import> re> > # A sample text string where regular expression> # is searched.> string>=> '''Hello my Number is 123456789 and> >my friend's number is 987654321'''> > # A sample regular expression to find digits.> regex>=> 'd+'> > match>=> re.findall(regex, string)> print>(match)> |
>
>
Lähtö:
['123456789', '987654321']>