So verwenden Sie Metazeichen des re-Moduls in Python
Meta-Zeichen sind Sonderzeichen mit besonderer Bedeutung in regulären Ausdrücken und stellen in Python keine Ausnahme dar. Sie werden verwendet, um das Erscheinungsmuster führender Zeichen (Zeichen vor Meta-Zeichen) im Zielobjekt anzuzeigen.
In regulären Ausdrücken bildet ein in eckigen Klammern ([]) angegebener Zeichensatz eine Zeichenklasse.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Das Platzhalter-Punkt-Metazeichen ( . ) entspricht jedem Zeichen außer einem Zeilenumbruchzeichen.
1 2 3 4 5 6 7 |
|
re-Modul unterstützt Metazeichen
Die folgende Liste ist eine Beschreibung der Metazeichen. Die Metazeichen werden klassifiziert und beschrieben, um das Gedächtnis zu erleichtern. Wenn Sie das nicht verstehen, springen Sie einfach zu den Beispielen unten.
[xyz] passt zu jedem darin enthaltenen Zeichen ‘a’ . Der Satz negativer Zeichen ist nicht enthalten. Beispielsweise kann „[^abc]“ mit „p“, „i“ und „n“ übereinstimmen. 🎜🎜#Zeichenbereich von „a“ bis „z“ kann verwendet werden Entspricht jedem Zeichen, das nicht im angegebenen Bereich liegt. Beispielsweise ‘[^a-z]’ Entspricht jedem Zeichen, das nicht im Bereich „a“ bis „z“ liegt. Entspricht einer Wortgrenze, die sich auf die Position zwischen einem Wort und einem Leerzeichen bezieht. ähm in „nie“, aber nicht das „äh“ in „verb“ # ;erB’ kann mit „er“ in „verb“ übereinstimmen, aber nicht mit „never“. # entspricht dem durch x angegebenen Steuerzeichen. Der Wert von x muss beispielsweise A-Z oder a-z sein # entspricht einem numerischen Zeichen, äquivalent zu [0-9]. Entspricht einem nicht numerischen Zeichen. Entspricht [^0-9]. entspricht einem Formularvorschub. Entspricht x0c und cL. entspricht einem Zeilenumbruchzeichen. Entspricht x0a und cJ. entspricht einem Wagenrücklaufzeichen. Entspricht x0d und cM. Entspricht jedem Leerzeichen, einschließlich Leerzeichen, Tabulatoren, Formularvorschüben usw. Entspricht [fnrtv]. entspricht jedem Zeichen, das kein Leerzeichen ist. Entspricht [^ fnrtv]. entspricht einem Tabulatorzeichen. Entspricht x09 und cI. Entspricht einem vertikalen Tabulatorzeichen. Entspricht x0b und cK. Ordnen Sie Buchstaben, Zahlen und Unterstriche zu. Entspricht „[A-Za-z0-9_]“. Entspricht Nicht-Buchstaben, Zahlen und Unterstrichen. Entspricht „[^A-Za-z0-9_]“. entspricht n, wobei n ein hexadezimaler Escape-Wert ist. Der hexadezimale Escape-Wert muss genau zwei Ziffern lang sein. Beispielsweise entspricht „x41“ „A“. „x041“ entspricht „x04“ und „1“.正则表达式中可以使用 ASCII 编码。Zeichen | Beschreibung |
---|---|
Markieren Sie das nächste Zeichen als Sonderzeichen, Literalzeichen, Rückverweis oder oktales Escapezeichen. Beispielsweise entspricht „n“ dem Zeichen „n“. „n“ entspricht einem Zeilenumbruchzeichen. Die Sequenz ‘’ entspricht „“ und „(“ entspricht „(“. | |
^ | entspricht dem Anfang der Eingabezeichenfolge. Wenn die Multiline-Eigenschaft des RegExp-Objekts festgelegt ist, stimmt ^ auch mit „n“ überein ; oder Die Position nach „r“ stimmt mit dem Ende der Eingabezeichenfolge überein. $ stimmt auch mit der Position vor „n“ überein Der vorherige Unterausdruck kann beispielsweise null oder mehrmals übereinstimmen, und „zoo“ entspricht {0,}. Beispielsweise passt „zo+“ zu „zo“ und „zoo“, aber nicht zu „z“.+ entspricht {1,}. |
? | Entspricht null oder einmal dem vorhergehenden Unterausdruck. Beispielsweise würde „do(es)?“ mit „do“ oder „does“ übereinstimmen. ? Entspricht {0,1}. |
{n} | n ist eine nicht negative ganze Zahl. Passen Sie eine bestimmte Anzahl n-mal an. Beispielsweise stimmt „o{2}“ nicht mit dem „o“ in „Bob“ überein, wohl aber mit beiden „o“ in „food“. |
{n,} | n ist eine nicht negative ganze Zahl. Passt mindestens n-mal zusammen. Beispielsweise stimmt „o{2,}“ nicht mit dem „o“ in „Bob“ überein, stimmt aber mit allen „o“ in „foooood“ überein. „o{1,}“ entspricht „o+“. „o{0,}“ entspricht „o*“. |
{n,m} | Sowohl m als auch n sind nicht negative ganze Zahlen, wobei n <= m. Übereinstimmung mindestens n-mal und höchstens m-mal. Beispielsweise entspricht „o{1,3}“ den ersten drei o in „fooooood“. „o{0,1}“ entspricht „o?“. Bitte beachten Sie, dass zwischen dem Komma und den beiden Zahlen kein Leerzeichen stehen darf. |
? | Wenn diesem Zeichen ein anderer Begrenzer folgt (*, +, ?, {n}, {n, }, {n,m}), das passende Muster ist nicht gierig. Der Non-Greedy-Modus stimmt so wenig wie möglich mit der gesuchten Zeichenfolge überein, während der Standard-Greedy-Modus so viel wie möglich mit der gesuchten Zeichenfolge übereinstimmt. Beispielsweise entspricht bei der Zeichenfolge „oooo“ „o+?“ einem einzelnen „o“, während „o+“ allen „o“ entspricht. |
. | Entspricht jedem einzelnen Zeichen außer Zeilenumbrüchen (n, r). Um ein beliebiges Zeichen einschließlich „n“ zu finden, verwenden Sie etwas wie „(. |
x|y | , um x oder y zu finden. Für Beispiel: 'z |
[a-z] | |
[^a-z] | |
D | |
f | |
n | |
r | |
s | |
S | |
t | |
v | |
w | |
W | |
xn | |
\num | 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,‘(.)\1’ 匹配两个连续的相同字符。 |
\n | 标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 |
\nm | 标识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 |
\nml | 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 |
\un | 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。 |
类别1:匹配单个字符的元字符
方括号( [] ) 字符集
指定要匹配的特定字符集。 字符类元字符序列将匹配该类中包含的任何单个字符。
1 2 3 4 5 6 |
|
匹配和[a-z]之间的任何小写字母字符。
1 2 |
|
匹配和[0-9]之间任何数字字符。
1 2 |
|
[0-9a-fA-F]匹配任何十六进制数字字符。
1 2 |
|
[^0-9]匹配任何不是数字的字符开头的字符。
1 2 |
|
如果一个^字符出现在字符类中但不是第一个字符则无结果。
1 2 |
|
可以通过用连字符分隔字符来指定字符类中的字符范围,可以将其作为第一个或最后一个字符放置,或者使用反斜杠 ( \ ) 对其进行转义。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
点 ( . ) 通配符
匹配除换行符以外的任何单个字符。
1 2 3 4 5 6 7 8 |
|
\w 和 \W 单词字符匹配
\w匹配任何字母数字字符,单词字符是大写和小写字母、数字和下划线 ( _) 字符。
\w 等于 [a-zA-Z0-9_] 。
1 2 3 4 |
|
\W是相反的。它匹配任何非单词字符。
\W 等于 [^a-zA-Z0-9_] 。
1 2 3 4 |
|
\d 和 \D 字符十进制数字匹配
\d匹配任何十进制数字字符,等价于[0-9]。
1 2 |
|
\D匹配任何不是十进制数字的字符,等价于[^0-9]。
1 2 |
|
\s 和 \S 字符空格匹配
\s匹配任何空白字符,同时也匹配换行符。
1 2 |
|
\S匹配任何不是空格的字符。
1 2 |
|
混合使用 \w, \W, \d, \D, \s, 和\S
字符类序列\w, \W, \d, \D, \s, 和\S也可以出现在方括号字符类中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
类别2:转义元字符
反斜杠 ( \ ) 转义元字符
反斜杠会删除元字符的特殊含义。
1 2 3 4 5 6 7 8 |
|
类别3:锚点
不匹配搜索字符串中的任何实际字符,并且在解析期间它们不使用任何搜索字符串。指示搜索字符串中必须发生匹配的特定位置。
^ 和 \A 字符串的开头匹配项
1 2 3 4 5 6 7 8 9 |
|
$ 和\Z 字符串的结尾匹配项
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
\b 和 \B 单词匹配
\b 必须在单词的开头或结尾。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
\B 不能在单词的开头或结尾。
1 2 3 4 5 6 |
|
类别4:量词
该部分必须出现多少次才能使匹配成功。
* 匹配前面的子表达式零次或多次
1 2 3 4 5 6 |
|
匹配2个字符中全部的内容。
1 2 |
|
+ 匹配前面的子表达式一次或多次
1 2 3 4 5 6 |
|
? 匹配前面的子表达式零次或一次
1 2 3 4 5 6 |
|
.*?、+?、?? 最小长度匹配
加问号则表示为最小长度匹配的懒惰模式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
{m} 完全匹配m次前面元字符的正则表达式。
1 2 3 4 5 6 |
|
{m,n} 匹配前面正则表达式的任意数量的重复从m到n次
1 2 3 4 5 6 7 8 9 |
|
正则表达式 | 匹配说明 | 相同语法 |
---|---|---|
< regex > {,n} | 任何小于或等于的重复次数n | < regex > {0,n} |
< regex > {m,} | 任何大于或等于的重复次数m | ---- |
< regex > {,} | 任意次数的重复 | < regex > {0,} , < regex > * |
1 2 3 4 5 6 7 8 9 10 |
|
{m,n}? 只匹配一次
非贪婪(懒惰)版本 {m,n}。
1 2 3 4 |
|
类别5:分组构造和反向引用
分组构造将 Python 中的正则表达式分解为子表达式或组。
分组:一个组代表一个单一的句法实体。附加元字符作为一个单元应用于整个组。
捕获:一些分组结构还捕获与组中的子表达式匹配的搜索字符串部分。可以通过几种不同的机制检索捕获的匹配项。
(
1 2 3 4 5 |
|
将组视为一个单元
组后面的量词元字符对组中指定的整个子表达式作为一个单元进行操作。
1 2 3 4 5 6 7 8 9 |
|
正则表达式 | 解释 | 匹配说明 | 例子 |
---|---|---|---|
bar+ | 元字符+仅适用于字符’r’。 | ‘ba’随后出现一次或多次’r’ | bar、barr、barrr等 |
(bar)+ | 元字符+适用于整个字符串’bar’。 | 出现一次或多次’bar’ | bar、barbar、barbarbar |
捕获组,m.groups()
返回一个元组,其中包含从正则表达式匹配中捕获的所有组。
1 2 3 4 5 |
|
捕获组,m.group()
返回包含
1 2 3 4 5 6 7 8 9 10 11 |
|
捕获组,m.group(, , …)
返回一个包含指定捕获匹配序号的元组。
1 2 3 4 5 6 7 |
|
类别6:反向引用
\ 匹配连续相同字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
类别7:其他分组结构
(?P) 创建捕获组并命名
1 2 3 4 5 6 7 8 9 10 11 12 |
|
(?P=) 匹配先前捕获名的内容
1 2 3 4 5 6 7 8 9 10 |
|
(?:) 创建一个非捕获组
1 2 3 4 5 6 7 8 |
|
指定条件匹配
(?(
(?(
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
类别8:Lookahead 和 Lookbehind 断言
根据解析器在搜索字符串中当前位置的后面(左侧)或前面(右侧)来确定 Python 中正则表达式匹配的成功或失败。积极前瞻断言可表示为:(?=lookahead_regex)
(?=) 积极前瞻断言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
(?!) 否定的前瞻断言
1 2 3 4 5 6 7 8 9 10 |
|
(?<=) 积极的后向断言
1 2 3 4 5 6 |
|
(?) 否定的向后断言
1 2 3 4 5 |
|
类别9:杂项元字符
(?#…) 指定注释
1 2 3 |
|
竖条或管道 ( | ) 指定要匹配的一组备选方案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Metazeichen des re-Moduls in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Verwenden Sie die meisten Texteditoren, um XML -Dateien zu öffnen. Wenn Sie eine intuitivere Baumanzeige benötigen, können Sie einen XML -Editor verwenden, z. B. Sauerstoff XML -Editor oder XMLSPY. Wenn Sie XML -Daten in einem Programm verarbeiten, müssen Sie eine Programmiersprache (wie Python) und XML -Bibliotheken (z. B. XML.etree.elementtree) verwenden, um zu analysieren.

Es gibt kein einfaches und direktes kostenloses XML -zu -PDF -Tool auf Mobilgeräten. Der erforderliche Datenvisualisierungsprozess beinhaltet komplexes Datenverständnis und Rendering, und die meisten sogenannten "freien" Tools auf dem Markt haben schlechte Erfahrung. Es wird empfohlen, Computer-Seiten-Tools zu verwenden oder Cloud-Dienste zu verwenden oder Apps selbst zu entwickeln, um zuverlässigere Conversion-Effekte zu erhalten.

Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

Das Ändern des XML -Inhalts erfordert die Programmierung, da die Zielknoten genau aufgefasst werden müssen, um hinzuzufügen, zu löschen, zu ändern und zu überprüfen. Die Programmiersprache verfügt über entsprechende Bibliotheken, um XML zu verarbeiten, und bietet APIs zur Durchführung sicherer, effizienter und steuerbarer Vorgänge wie Betriebsdatenbanken.

XML -Formatierungs -Tools können Code nach Regeln eingeben, um die Lesbarkeit und das Verständnis zu verbessern. Achten Sie bei der Auswahl eines Tools auf die Anpassungsfunktionen, den Umgang mit besonderen Umständen, die Leistung und die Benutzerfreundlichkeit. Zu den häufig verwendeten Werkzeugtypen gehören Online-Tools, IDE-Plug-Ins und Befehlszeilen-Tools.

Die XML -Verschönerung verbessert im Wesentlichen seine Lesbarkeit, einschließlich angemessener Einkerbung, Zeilenpausen und Tag -Organisation. Das Prinzip besteht darin, den XML -Baum zu durchqueren, die Eindrücke entsprechend der Ebene hinzuzufügen und leere Tags und Tags, die Text enthalten, zu verarbeiten. Pythons xml.etree.elementtree -Bibliothek bietet eine bequeme Funktion hübsch_xml (), die den oben genannten Verschönerungsprozess implementieren kann.

Mit einer einzigen Anwendung ist es unmöglich, XML -zu -PDF -Konvertierung direkt auf Ihrem Telefon zu vervollständigen. Es ist erforderlich, Cloud -Dienste zu verwenden, die in zwei Schritten erreicht werden können: 1. XML in PDF in der Cloud, 2. Zugriff auf die konvertierte PDF -Datei auf dem Mobiltelefon konvertieren oder herunterladen.

Es ist nicht einfach, XML direkt auf Ihr Telefon in PDF umzuwandeln, kann jedoch mit Hilfe von Cloud -Diensten erreicht werden. Es wird empfohlen, eine leichte mobile App zu verwenden, um XML -Dateien hochzuladen und generierte PDFs zu empfangen und sie mit Cloud -APIs zu konvertieren. Cloud -APIs verwenden serverlose Computerdienste, und die Auswahl der richtigen Plattform ist entscheidend. Bei der Behandlung von XML -Parsen und PDF -Generation müssen Komplexität, Fehlerbehebung, Sicherheit und Optimierungsstrategien berücksichtigt werden. Der gesamte Prozess erfordert, dass die Front-End-App und die Back-End-API zusammenarbeiten, und es erfordert ein gewisses Verständnis einer Vielzahl von Technologien.
