Python RegEx
- ముందసిన పేజీ Python JSON
- తదుపరి పేజీ Python PIP
RegEx లేదా ప్రత్యేక పదబంధం పరిశీలన ప్రక్రియను రూపొందించే అక్షర క్రమం.
RegEx సామర్థ్యం కలిగి పదబంధాన్ని పొందిన ప్రక్రియను పరిశీలించవచ్చు.
RegEx మాడ్యూల్
Python అనే పేరు కలిగిన re
的内置包,可用于处理正则表达式。
导入 re
模块:
import re
Python 中的 RegEx
导入 re
模块后,就可以开始使用正则表达式了:
ఉదాహరణ
检索字符串以查看它是否以 "China" 开头并以 "country" 结尾:
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
RegEx 函数
re
模块提供了一组函数,允许我们检索字符串以进行匹配:
函数 | 描述 |
---|---|
findall | 返回包含所有匹配项的列表 |
search | 如果字符串中的任意位置存在匹配,则返回 Match 对象 |
split | 返回在每次匹配时拆分字符串的列表 |
sub | 用字符串替换一个或多个匹配项 |
元字符
元字符是具有特殊含义的字符:
字符 | 描述 | 示例 | TIY |
---|---|---|---|
[] | 一组字符 | "[a-m]" | 试一试 |
\ | 示意特殊序列(也可用于转义特殊字符) | "\d" | 试一试 |
. | 任何字符(换行符除外) | "he..o" | 试一试 |
^ | 起始于 | "^hello" | 试一试 |
$ | 结束于 | "world$" | 试一试 |
* | 零次或多次出现 | "aix*" | 试一试 |
+ | 一次或多次出现 | "aix+" | 试一试 |
{} | 确切地指定的出现次数 | "al{2}" | 试一试 |
| | 两者任一 | "falls|stays" | 试一试 |
() | 捕获和分组 |
特殊序列
特殊序列指的是 \
后跟下表中的某个字符,拥有特殊含义:
字符 | 描述 | 示例 | TIY |
---|---|---|---|
\A | 如果指定的字符位于字符串的开头,则返回匹配项 | "\AThe" | 试一试 |
\b | 返回指定字符位于单词的开头或末尾的匹配项 |
r"\bain" r"rain\b" |
试一试 试一试 |
\B | 返回指定字符存在的匹配项,但不在单词的开头(或结尾处) |
r"\Bain" r"rain\B" |
试一试 试一试 |
\d | 返回字符串包含数字的匹配项(数字 0-9) | "\d" | 试一试 |
\D | 返回字符串不包含数字的匹配项 | "\D" | 试一试 |
\s | 返回字符串包含空白字符的匹配项 | "\s" | 试一试 |
\S | 返回字符串不包含空白字符的匹配项 | "\S" | 试一试 |
\w | 返回一个匹配项,其中字符串包含任何单词字符 (从 a 到 Z 的字符,从 0 到 9 的数字和下划线 _ 字符) |
"\w" | 试一试 |
\W | 返回一个匹配项,其中字符串不包含任何单词字符 | "\W" | 试一试 |
\Z | 如果指定的字符位于字符串的末尾,则返回匹配项 | "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()
函数返回包含所有匹配项的列表。
ఉదాహరణ
打印所有匹配的列表:
import re str = "China is a great country" x = re.findall("a", str) print(x)
这个列表以被找到的顺序包含匹配项。
如果未找到匹配项,则返回空列表:
ఉదాహరణ
如果未找到匹配,则返回空列表:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
search() 函数
search()
函数搜索字符串中的匹配项,如果存在匹配则返回 Match 对象。
如果有多个匹配,则仅返回首个匹配项:
ఉదాహరణ
在字符串中搜索第一个空白字符:
import re str = "China is a great country" x = re.search("\s", str) print("The first white-space character is located in position:", x.start())
如果未找到匹配,则返回值 నలుగురు
:
ఉదాహరణ
进行不返回匹配的检索:
import re str = "China is a great country" x = re.search("USA", str) print(x)
split() 函数
split()
函数返回一个列表,其中字符串在每次匹配时被拆分:
ఉదాహరణ
ప్రతి శూన్య అక్షరంలో విభజించండి:
import re str = "China is a great country" x = re.split("\s", str) print(x)
您可以通过指定 maxsplit
పరామీతిని నియంత్రించే పరామితి అంశం:
ఉదాహరణ
మాత్రమే మొదటి సారిగా స్ట్రింగ్ ను విభజించండి:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
sub() ఫంక్షన్
sub()
ఫంక్షన్ మీరు ఎంచుకున్న పదబంధాన్ని ముగించు పదాన్ని స్థాపిస్తుంది:
ఉదాహరణ
ప్రతి శూన్య అక్షరాన్ని 9 తో పునఃస్థాపించండి:
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 ఆబ్జెక్ట్ అనేది మ్యాచ్ గురించి మరియు ఫలితాలను కలిగివున్న ఆబ్జెక్ట్ ఉంది.
ప్రత్యామ్నాయంగా:ఏమీ అనుగుణంగా తిరిగివచ్చే విలువ నలుగురు
కానీ మేచ్ ఆబ్జెక్ట్ ఉండాలి.
ఉదాహరణ
మ్యాచ్ ఆబ్జెక్ట్ ను తిరిగివచ్చే ఫంక్షన్ నడుపుము:
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())
ప్రత్యామ్నాయంగా:ఏమీ అనుగుణంగా తిరిగివచ్చే విలువ నలుగురు
కానీ మేచ్ ఆబ్జెక్ట్ ఉండాలి.
- ముందసిన పేజీ Python JSON
- తదుపరి పేజీ Python PIP