python如何用正则匹配字符串后到行尾的所有字符

有时候a='''xingmin: zhang
shuju: 197
xuexiao: xi
'''
有时候a='''xingmin: zhang
shuju: 987
xuexiao: xi
'''
有时候a='''xingmin: zhan

xuexiao: xi
shuju: no
'''
如何匹配shuju:后面的字符串呢?就是匹配一个字符串到行尾的所有字符

1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串

result, number = re.subn(regex, newstring, subject)

2.替换所有匹配的子串(使 用正则表达式对象)

rereobj = re.compile(regex) result, number = reobj.subn(newstring, subject)字符串拆分

Python字符串拆分

reresult = re.split(regex, subject)

字符串拆分(使用正则表示式对象)
rereobj = re.compile(regex) result = reobj.split(subject)匹配

下面列出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. 创建一个匹配对象,然后通过该对象获得匹配细节regex=ur"..." #正则表达式
match = re.search(regex, subject) if match: # match start: match.start() # match end (exclusive): match.end() # matched text: match.group() do_something() else: do_anotherthing()
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-02
# -*- coding: utf-8 -*-
import re
a='''xingmin: zhang
shuju: 197
xuexiao: xi
'''
b=re.search(r"(?<=shuju:).+?(?=$)",a,re.M)
print(b.group(0))

本回答被提问者和网友采纳
第2个回答  2013-09-09
(?<=shuju:)[^\n]*(?=\n)

相似回答