Python RegEx
- 上一页 Python JSON
- 下一页 Python PIP
RegEx of reguliere expressies zijn een reeks tekens die een zoekpatroon vormen.
RegEx kan gebruikt worden om te controleren of een string de opgegeven zoekpatroon bevat.
RegEx module
Python biedt een module genaamd re
De ingebouwde bibliotheek, die kan worden gebruikt voor het verwerken van reguliere expressies.
Importeren re
Module:
import re
RegEx in Python
Importeren re
Na het importeren van de module, kun je beginnen met het gebruiken van reguliere expressies:
实例
Zoek naar de tekenreeks om te controleren of deze begint met "China" en eindigt met "country":
import re txt = "China is een groot land" x = re.search("^China.*country$", txt)
RegEx functies
re
De module biedt een set functies die het mogelijk maken om tekenreeksen op te halen voor overeenkomsten:
Functie | Beschrijving |
---|---|
findall | Retourneert een lijst van alle overeenkomsten |
search | Retourneert een Match-object als er op elke positie in de tekenreeks een overeenkomst is |
split | Retourneert een lijst van tekenreeksen die worden gesplitst bij elke overeenkomst |
sub | Vervangt een of meerdere overeenkomsten met een tekenreeks |
Meta-teken
Meta-tekens zijn tekens die een speciale betekenis hebben:
Tekens | Beschrijving | Voorbeeld | TIY |
---|---|---|---|
[] | Een groep tekens | "[a-m]" | Probeer het uit |
\ | Illustratie van speciale series (kan ook gebruikt worden om speciale tekens te ontsnappen) | "\d" | Probeer het uit |
. | Elke teken (met uitzondering van de newline) | "he..o" | Probeer het uit |
^ | Begint met | "^hello" | Probeer het uit |
$ | Eindigt met | "world$" | Probeer het uit |
* | Nul of meerdere keren optreden | "aix*" | Probeer het uit |
+ | Eenmalig of meerdere keren optreden | "aix+" | Probeer het uit |
{} | Precies opgegeven aantal optredens | "al{2}" | Probeer het uit |
| | enig | "valt|bleef" | Probeer het uit |
(() | Vangen en groeperen |
Speciale series
Speciale series zijn \
gevolgd door een van de tekens in de onderstaande tabel, hebben een speciale betekenis:
Tekens | Beschrijving | Voorbeeld | TIY |
---|---|---|---|
\A | Retourneert een overeenkomst als het opgegeven teken zich bevindt aan het begin van de tekenreeks | "\AThe" | Probeer het uit |
\b | Retourneert een overeenkomst waarbij het opgegeven teken zich bevindt aan het begin of einde van een woord |
r"\bain" r"rain\b" |
Probeer het uit Probeer het uit |
\B | Retourneert een overeenkomst waarbij het opgegeven teken bestaat, maar niet aan het begin (of einde) van een woord staat |
r"\Bain" r"rain\B" |
Probeer het uit Probeer het uit |
\d | Retourneert een overeenkomst waarbij de tekenreeks cijfers bevat (cijfers 0-9) | "\d" | Probeer het uit |
\D | Retourneert een overeenkomst waarbij de tekenreeks geen cijfers bevat | "\D" | Probeer het uit |
\s | Retourneert een overeenkomst waarbij de tekenreeks witruimte tekens bevat | "\s" | Probeer het uit |
\S | Retourneert een overeenkomst waarbij de tekenreeks geen witruimte tekens bevat | "\S" | Probeer het uit |
\w | Retourneert een overeenkomst waarbij de tekenreeks willekeurige woordtekens bevat (Tekens van a tot Z, cijfers van 0 tot 9 en het onderstreepsteken _) |
"\w" | Probeer het uit |
\W | Retourneert een overeenkomst waarbij de tekenreeks geen woordtekens bevat | "\W" | Probeer het uit |
\Z | Retourneert een overeenkomst als de opgegeven teken zich bevindt aan het einde van de tekenreeks | "Spanje\Z" | Probeer het uit |
Verzameling (Set)
Een verzameling (Set) is een paar haakjes]} []
Een groep tekens binnen een set, die speciale betekenis heeft:
Verzameling | Beschrijving | Probeer het uit |
---|---|---|
[arn] | Retourneer een overeenkomst die bestaat uit een van de gespecificeerde tekens (a, r of n) | Probeer het uit |
[a-n] | Retourneer overeenkomsten van alle kleine letters tussen a en n | Probeer het uit |
[^arn] | Retourneer overeenkomsten van alle tekens behalve a, r en n | Probeer het uit |
[0123] | Retourneer overeenkomsten die bestaan uit een van de gespecificeerde cijfers (0, 1, 2 of 3) | Probeer het uit |
[0-9] | Retourneer overeenkomsten van alle cijfers tussen 0 en 9 | Probeer het uit |
[0-5][0-9] | Retourneer overeenkomsten van alle cijfers tussen 0 en 9 | Probeer het uit |
[a-zA-Z] | Retourneer overeenkomsten van alle letters tussen a en z, zowel in kleine als in grote letters | Probeer het uit |
[+] | In de verzameling hebben +, *, ., |, (), $, {} geen speciale betekenis, dus [+] betekent: retourneer overeenkomsten van elk +-teken in de string | Probeer het uit |
De functie findall()
findall()
De functie retourneert een lijst met alle overeenkomsten.
实例
Print de lijst van alle overeenkomsten:
import re str = "China is a great country" x = re.findall("a", str) print(x)
De lijst bevat de overeenkomsten in de volgorde waarin ze zijn gevonden.
Retourneert een lege lijst als er geen overeenkomstige items worden gevonden:
实例
Retourneert een lege lijst als er geen overeenkomst wordt gevonden:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
De functie search()
search()
De functie zoekt naar overeenkomsten in de string en retourneert een Match-object als er een overeenkomst bestaat.
Retourneert alleen het eerste overeenkomstige item als er meerdere overeenkomsten zijn:
实例
Zoek de eerste witruimte-teken in de string:
import re str = "China is a great country" x = re.search("\s", str) print("De eerste witruimte-teken bevindt zich op positie:", x.start())
Retourneert de waarde als er geen overeenkomst wordt gevonden None
:
实例
Voer een zoekopdracht uit die geen overeenkomst retourneert:
import re str = "China is a great country" x = re.search("USA", str) print(x)
De functie split()
split()
De functie retourneert een lijst waarin de string wordt gesplitst bij elke overeenkomst:
实例
Splits de string op elke lege teken:
import re str = "China is a great country" x = re.split("\s", str) print(x)
您可以通过指定 maxsplit
Parameter om het aantal verschijningen te controleren:
实例
Splits de string alleen bij de eerste verschijning:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
De functie sub()
sub()
De functie vervangt de overeenkomstige tekst met de tekst van uw keuze:
实例
Gebruik het cijfer 9 om elke lege teken te vervangen:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
您可以通过指定 count
参数来控制替换次数:
实例
替换前两次出现:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match 对象
Match 对象是包含有关搜索和结果信息的对象。
注释:如果没有匹配,则返回值 None
,而不是 Match 对象。
实例
执行会返回 Match 对象的搜索:
import re str = "China is a great country" x = re.search("a", str) print(x) # 将打印一个对象
Match 对象提供了用于取回有关搜索及结果信息的属性和方法:
span()
返回的元组包含了匹配的开始和结束位置.string
返回传入函数的字符串group()
返回匹配的字符串部分
实例
打印首个匹配出现的位置(开始和结束位置)。
正则表达式查找以大写 "C" 开头的任何单词:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
实例
打印传入函数的字符串:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
实例
打印匹配的字符串部分。
正则表达式查找以大写 "C" 开头的任何单词:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
注释:如果没有匹配项,则返回值 None
,而不是 Match 对象。
- 上一页 Python JSON
- 下一页 Python PIP