python 正则表达式,怎样匹配以某个字符串开头,以某个字符串结尾的情况?

 我来答
沙雕动态图
2019-06-18 · TA获得超过2189个赞
知道答主
回答量:53
采纳率:0%
帮助的人:1.4万
展开全部

python正则匹配以xx开头以xx结尾的单词的步骤:

1、假设需要匹配的字符串为:site sea sue sweet see case sse ssee loses 需要匹配的为以s开头以e 结尾的单词。 正确的正则式为:\bs\S*?e\b

2、使用python中re.findall函数表示匹配字符串中所有的可能选项,re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。

3、代码和结果如下:

text ='site sea sue sweet see case sse ssee loses'

re.findall(r'\bs\S*?e\b',text)

结果为:['site', 'sue', 'see', 'sse', 'ssee']

扩展资料:

python正则匹配,以某某开头某某结尾的最长子串匹配

代码如下:

regVersions = re.search(r'(V|v)[0-9].*[0-9]', filename)

if regVersions:

print regVersions.group()


蚂蚁爱吐槽
高粉答主

推荐于2019-08-12 · 说的都是干货,快来关注
知道大有可为答主
回答量:463
采纳率:100%
帮助的人:42.7万
展开全部

匹配以某个字符串开头,以某个字符串结尾的情况的正则表达式:^abc.*?qwe$

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()    

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孝荷蕊2
2017-01-08 · 超过123用户采纳过TA的回答
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:156万
展开全部
码如下: # -*- coding: cp936 -*-import restring = "xxxxxxxxxxxxxxxxxxxxxxxx entry '某某内容' for aaaaaaaaaaaaaaaaaa"result = re.findall(".*entry(.*)for.*",string)for x in result: print x# '某某内容'正则表达式的用法如下:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kickoutgo
2018-10-31
知道答主
回答量:3
采纳率:0%
帮助的人:1598
展开全部
前向界定与后向界定
有时候需要匹配一个跟在特定内容后面的或者在特定内容前面的字符串, Python 提供一个简便的前向界定和后向界定功能,或者叫前导指定和跟从指定功能。它们是:
‘(?<=…)’ 前向界定
括号中 ’…’ 代表你希望匹配的字符串的前面应该出现的字符串。
‘(?=…)’ 后向界定
括号中的 ’…’ 代表你希望匹配的字符串后面应该出现的字符串。
例: 你希望找出 c 语言的注释中的内容,它们是包含在 ’/*’ 和 ’*/’ 之间,不过你并不希望匹配的结果把 ’/*’ 和 ’*/’ 也包括进来,那么你可以这样用:
>>> s=r’/* comment 1 */ code /* comment 2 */’
>>> re.findall( r’(?<=//*).+?(?=/*/)’ , s )
[' comment 1 ', ' comment 2 ']
compile语法也可以试试,没调测,供参考
reCmp1 = re.compile(r'//*(.*)/*/')
print(reCmp1.findall(s))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式