下面列出Python正则表达式的几种匹配用法:
1.测试正则表达式是否匹配字符串的全部或部分
regex=
ur""
#正则表达式 if
re.
search(
regex,
subject)
:
do_something(
)
else
:
do_anotherthing(
)
|
2.测试正则表达式是否匹配整个字符串
regex=
ur"\Z"
#正则表达式末尾以\Z结束 if
re.
match(
regex,
subject)
:
do_something(
)
else
:
do_anotherthing(
)
|
3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the
regex matches (part of) a string)
regex=
ur""
#正则表达式
match =
re.
search(
regex,
subject)
if
match:
# match start:
match.
start(
)
# match end (
exclusive)
:
atch.
end(
)
# matched text:
match.
group(
)
do_something(
)
else
:
do_anotherthing(
)
|
4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)
regex=
ur""
#正则表达式
match =
re.
search(
regex,
subject)
if
match:
result =
match.
group(
)
else
:
result =
""
|
5. 获取捕获组所匹配的子串(Get the part of a string matched by a capturing group)
regex=
ur""
#正则表达式
match =
re.
search(
regex,
subject)
if
match:
result =
match.
group(
1)
else
:
result =
""
|
6. 获取有名组所匹配的子串(Get the part of a string matched by a named group)
regex=ur"" #正则表达式
match =
re.search(regex, subject)
if match:
result =
match.group"groupname")
else:
result = ""
|
7. 将字符串中所有匹配的子串放入数组中(Get an array of all regex matches in a string)
result =
re.
findall(
regex,
subject)
|
8.遍历所有匹配的子串(Iterate over all matches in a string)
for
match in
re.
finditer(
r"<(.*?)\s*.*?/\1>"
,
subject)
# match start:
match.
start(
)
# match end (
exclusive)
:
atch.
end(
)
# matched text:
match.
group(
)
|
9.通过正则表达式字符串创建一个正则表达式对象(Create an object to use the same regex for
many operations)
reobj =
re.
compile(
regex)
|
10.用法1的正则表达式对象版本(use regex object for if/else branch whether (part
of) a string can be matched)
reobj =
re.
compile(
regex)
if
reobj.
search(
subject)
:
do_something(
)
else
:
do_anotherthing(
)
|
11.用法2的正则表达式对象版本(use regex object for if/else branch whether a string
can be matched entirely)
reobj =
re.
compile(
r"\Z"
)
#正则表达式末尾以\Z 结束 if
reobj.
match(
subject)
:
do_something(
)
else
:
do_anotherthing(
)
|
12.创建一个正则表达式对象,然后通过该对象获得匹配细节(Create an object with details about how
the regex object matches (part of) a string)
reobj =
re.
compile(
regex)
match =
reobj.
search(
subject)
if
match:
#
match start:
match.
start(
)
# match
end (
exclusive)
:
atch.
end(
)
# matched
text:
match.
group(
)
do_something(
)
else
:
do_anotherthing(
)
|
13.用正则表达式对象获取匹配子串(Use regex object to get the part of a string
matched by the regex)
reobj =
re.
compile(
regex)
match =
reobj.
search(
subject)
if
match:
result =
match.
group(
)
else
:
result
=
""
|
14.用正则表达式对象获取捕获组所匹配的子串(Use regex object to get the part of a string
matched by a capturing group)
reobj =
re.
compile(
regex)
match =
reobj.
search(
subject)
if
match:
result =
match.
group(
1)
else
:
result
=
""
|
15.用正则表达式对象获取有名组所匹配的子串(Use regex object to get the part of a string
matched by a named group)
reobj =
re.
compile(
regex)
match =
reobj.
search(
subject)
if
match:
result =
match.
group(
"groupname"
)
else
:
result =
""
|
16.用正则表达式对象获取所有匹配子串并放入数组(Use regex object to get an array of all
regex matches in a string)
reobj =
re.
compile(
regex)
result =
reobj.
findall(
subject)
|
17.通过正则表达式对象遍历所有匹配子串(Use regex object to iterate over all matches in a
string)
reobj =
re.
compile(
regex)
for
match in
reobj.
finditer(
subject)
:
# match
start:
match.
start(
)
# match
end (
exclusive)
:
match.
end(
)
# matched
text:
match.
group(
)
|
字符串替换
1.替换所有匹配的子串
#用newstring替换subject中所有
与正则表达式regex匹配的子串
result =
re.
sub(
regex,
newstring,
subject)
|
2.替换所有匹配的子串(使用正则表达式对象)
reobj =
re.
compile(
regex)
result =
reobj.
sub(
newstring,
subject)
|
字符串拆分
1.字符串拆分
result =
re.
split(
regex,
subject)
|
2.字符串拆分(使用正则表示式对象)
reobj =
re.
compile(
regex)
result =
reobj.
split(
subject)
分享到:
相关推荐
下面列出Python正则表达式的几种匹配用法,具体内容如下所示: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur #正则表达式 if re....
使用正则表达式匹配文本... 38 向更实用的程序前进... 40 成功匹配的副作用... 40 错综复杂的正则表达式... 43 暂停片刻... 49 使用正则表达式修改文本... 50 例子:公函生成程序... 50 举例:修整股票价格....
下面列出Python正则表达式的几种匹配用法: 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur #正则表达式 if re.search(regex, subject): do_something() else: do_anotherthing() 2.测试正则表达式是否...
下面列出Python正则表达式的几种匹配用法: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur #正则表达式 if re.search(regex, ...
其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 ...
extract: yes其中,regex表示要匹配的url的正则表达式;name是正则匹配的名称;store为yes时是存储这个网页,no为不存储;extract表示是否自动抽取网页正文,只有当store为yes的时候,extract才有作用。对于...
以下就是你可以采用的几种方法。你可以选用其中一种你最适应的并且就这样坚持这种方法! 从HTML中分离 以下是可以使用的方法: <script language="php"> . . . 语句 与Perl和C一样,在PHP中用(;)来分隔...
第1章 正则表达式匹配器 。 1.1 编程实践 1.2 实现 1.3 讨论 1.4 其他的方法 1.5 构建 1.6 小结 第2章 Subversion中的增量编辑器:像本体一样的接口 2.1 版本控制与目录树的转换 2.2 表达目录树的差异 2.3 增量编辑...
在表达式中使用算术运算符时要注意以下几点: 1,运算符两边的运算数字必须是数字 2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可...