Python RegEx
- Nakaraang Pahina Python JSON
- Susunod na Pahina Python PIP
Ang RegEx o pangunahing ekspresyon ay isang serye ng mga character na gumagawa ng paternong paghahanap.
Ang RegEx ay maaaring gamitin upang suriin kung ang string ay naglalaman ng tinukoy na paternong paghahanap.
Modulo RegEx
Python ay nagbibigay ng pangalan re
Ang built-in package, na maaaring gamitin para sa paggamit ng regular expression。
Import re
Module:
import re
RegEx sa Python
Import re
Pagkatapos ng module, maaari nating magsimula gamit ang regular expression:
Eksemplo
Hanapin ang string upang makita kung ito ay nagsisimula sa "China" at tumatapos sa "country":
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
RegEx function
re
Ang module ay nagbibigay ng isang grupo ng function, na nagbibigay-daan sa amin na makuha ang string upang gawin ang pagkakamit:
Function | 描述 |
---|---|
findall | Ibalik ang isang listahan na naglalaman ng lahat ng match |
search | Ibalik ang Match object kung mayroong match sa anumang posisyon ng string |
split | Ibalik ang isang listahan ng string na hinahati sa bawat pagkakamit |
sub | Pagpalit ng string gamit ang anumang match |
Ang meta character
Ang meta character ay ang character na may partikular na kahulugan:
Character | 描述 | Eksemplo | TIY |
---|---|---|---|
[] | Isang grupo ng character | "[a-m]" | 试一试 |
\ | Ipatungo ang partikular na sequence(may gamit din para sa pag-escape ng partikular na character) | "\d" | 试一试 |
. | Anumang character(walang newline character) | "he..o" | 试一试 |
^ | Nagsisimula sa | "^hello" | 试一试 |
$ | Tumatapos sa | "world$" | 试一试 |
* | Wala o maraming beses | "aix*" | 试一试 |
+ | Isang beses o maraming beses | "aix+" | 试一试 |
{} | Tutukoy na bilang ng pagkakaroon | "al{2}" | 试一试 |
| | Alinman sa dalawa | "falls|stays" | 试一试 |
() | Pagsasakop at Pagbubuo ng Paghahalaga |
Ang partikular na sequence
Ang partikular na sequence ay \
na sinundan ng anumang character mula sa sumusunod na talahanayan, may partikular na kahulugan:
Character | 描述 | Eksemplo | TIY |
---|---|---|---|
\A | Kung ang tinukoy na character ay nasa simula ng string, ibabalik ang match | "\AThe" | 试一试 |
\b | Ibalik ang isang match kung ang tinukoy na character ay nasa simula o katapusan ng salita |
r"\bain" r"ain\b" |
试一试 试一试 |
\B | Ibalik ang isang match kung ang tinukoy na character ay nasa eksistensya ng character, ngunit hindi nasa simula o katapusan ng salita |
r"\Bain" r"ain\B" |
试一试 试一试 |
\d | Ibalik ang isang match kung ang string ay may anumang numero(numero 0-9) | "\d" | 试一试 |
\D | Ibalik ang isang match kung ang string ay walang anumang numero | "\D" | 试一试 |
\s | Ibalik ang isang match kung ang string ay may anumang blank character | "\s" | 试一试 |
\S | Ibalik ang isang match kung ang string ay walang anumang blank character | "\S" | 试一试 |
\w | Ibalik ang isang match kung ang string ay may anumang word character (Mga character mula sa a hanggang Z, ang mga numero mula 0 hanggang 9 at ang underscore _ character) |
"\w" | 试一试 |
\W | Ibalik ang isang match kung ang string ay walang anumang word character | "\W" | 试一试 |
\Z | Kung ang tinukoy na character ay nasa huling bahagi ng string, ibabalik ang match | "Spain\Z" | 试一试 |
集合(Set)
集合(Set)是一对方括号 []
内的一组字符,具有特殊含义:
集合 | 描述 | 试一试 |
---|---|---|
[arn] | 返回一个匹配项,其中存在指定字符(a,r 或 n)之一 | 试一试 |
[a-n] | 返回字母顺序 a 和 n 之间的任意小写字符匹配项 | 试一试 |
[^arn] | 返回除 a、r 和 n 之外的任意字符的匹配项 | 试一试 |
[0123] | 返回存在任何指定数字(0、1、2 或 3)的匹配项 | 试一试 |
[0-9] | 返回 0 与 9 之间任意数字的匹配 | 试一试 |
[0-5][0-9] | 返回介于 0 到 9 之间的任何数字的匹配项 | 试一试 |
[a-zA-Z] | 返回字母顺序 a 和 z 之间的任何字符的匹配,小写或大写 | 试一试 |
[+] | 在集合中,+、*、.、|、()、$、{} 没有特殊含义,因此 [+] 表示:返回字符串中任何 + 字符的匹配项 | 试一试 |
findall() 函数
findall()
函数返回包含所有匹配项的列表。
Eksemplo
打印所有匹配的列表:
import re str = "China is a great country" x = re.findall("a", str) print(x)
这个列表以被找到的顺序包含匹配项。
如果未找到匹配项,则返回空列表:
Eksemplo
如果未找到匹配,则返回空列表:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
search() 函数
search()
函数搜索字符串中的匹配项,如果存在匹配则返回 Match 对象。
如果有多个匹配,则仅返回首个匹配项:
Eksemplo
在字符串中搜索第一个空白字符:
import re str = "China is a great country" x = re.search("\s", str) print("The first white-space character is located in position:\n", x.start())
如果未找到匹配,则返回值 Wala
:
Eksemplo
进行不返回匹配的检索:
import re str = "China is a great country" x = re.search("USA", str) print(x)
split() 函数
split()
函数返回一个列表,其中字符串在每次匹配时被拆分:
Eksemplo
在每个空白字符处进行拆分:
import re str = "China is a great country" x = re.split("\s", str) print(x)
Maaari mong magkaroon ng pagpili maxsplit
参数来控制出现次数:
Eksemplo
仅在首次出现时拆分字符串:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
sub() 函数
sub()
函数将匹配替换为您选择的文本:
Eksemplo
数字 9 替换每个空白字符:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
Maaari mong magkaroon ng pagpili count
Ang parameter na ginamit upang kontrolin ang bilang ng pagpalitan:
Eksemplo
Palitan ang dalawang unang pagkakaroon:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match na bagay
Ang Match na bagay ay isang bagay na naglalaman ng impormasyon tungkol sa paghahanap at mga resulta.
Komentaryo:Kung walang pagkakasunod, ibabalik ang halaga Wala
sa halip na Match na bagay.
Eksemplo
Ang paggawa ay magiging magiging isang Match na bagay na naka-hanap
import re str = "China is a great country" x = re.search("a", str) print(x) # Magiging magiging isang bagay ang pagiprint
Ang Match na bagay ay nagbibigay ng mga attribute at method na ginamit upang kunin ang impormasyon tungkol sa paghahanap at mga resulta:
span()
Ang binabagong tuple ay naglalaman ng simula at katapusan na lokasyon ng pagkakasunod-sunod.string
Ibalik ang string na ipinasok sa functiongroup()
Ibalik ang bahaging naka-match ng string
Eksemplo
Iprint ang lokasyon ng unang naka-match na string (simula at katapusan na lokasyon).
Hanapin ang regular expression na nagsisimula sa malaki na "C" ng anumang salita:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
Eksemplo
Iprint ang string na ipinasok sa function:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
Eksemplo
Iprint ang bahaging naka-match ng string.
Hanapin ang regular expression na nagsisimula sa malaki na "C" ng anumang salita:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
Komentaryo:Kung walang pagkakasunod, ibabalik ang halaga Wala
sa halip na Match na bagay.
- Nakaraang Pahina Python JSON
- Susunod na Pahina Python PIP