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

如题所述

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


温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-12

匹配以某个字符串开头,以某个字符串结尾的情况的正则表达式:^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
码如下: # -*- coding: cp936 -*-import restring = "xxxxxxxxxxxxxxxxxxxxxxxx entry '某某内容' for aaaaaaaaaaaaaaaaaa"result = re.findall(".*entry(.*)for.*",string)for x in result: print x# '某某内容'正则表达式的用法如下:
第3个回答  2018-10-31
前向界定与后向界定
有时候需要匹配一个跟在特定内容后面的或者在特定内容前面的字符串, 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))

python 正则表达式,怎样匹配以某个字符串开头,以某个字符串结尾的情况...
1、假设需要匹配的字符串为:site sea sue sweet see case sse ssee loses 需要匹配的为以s开头以e 结尾的单词。 正确的正则式为:\\bs\\S*?e\\b 2、使用python中re.findall函数表示匹配字符串中所有的可能选项,re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去...

用python正则表达式,截取一段字符串中以“[”开头,以“]”结束的字符串...
import rea = "asdf[abc123]我们"g = re.search("\\[.*\\]", a)if g: print(g.group())else: print("") 看看这个是不是你想要的效果,最后打印的是[abc123],如果你[]不想要,可以在匹配完成后手动去掉字符串的第一个和最后一个字符 ...

python中正则匹配
给你一些正则表达式的语法:总结## ^ 匹配字符串的开始。## $ 匹配字符串的结尾。## \\b 匹配一个单词的边界。## \\d 匹配任意数字。## \\D 匹配任意非数字字符。## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。## x* 匹配0次或者多次 x 字符。## x+ 匹...

python中常见re正则表达式(整数、小数、邮箱、号码、车牌、x开头y结尾...
首先,匹配整数可以使用正则表达式`\\d+`。要匹配某几位整数,可以使用`\\d{10}`来匹配字符中10位数字。匹配小数,可以使用`[0-9]+\\.[0-9]*`或`[0-9]*\\.[0-9]+`。电话号码匹配则较为复杂。通常可以使用以下几种方式:`\\d{11}`匹配11位数字,`\\d{3}-\\d{4}-\\d{4}`或`\\(\\d{3...

Python正则表达式的几种匹配用法
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 ...

python 从字符串中找出以$开头并以一个dict里面任意一个字符结尾的子串...
将字典转成正则表达式。然后用re.search,每找一次,就将字符串的起始位置移动 d={'a':None,'b':None,'c':None,'abc':None} expl=[]for k in d: expl.append(k)expl.append(")exp=re.compile("(?:isu)\\$(?:"+(("|").join(expl))+")")s= ‘$a=$b+$c+$abc’p=0 while...

python正则表达式 如何找到指定字符后面完整的数字字符串
使用re模块的search函数,能过正则表达式查找,代码如下:import rereg=re.compile(r"(?<=指定字符)\\d+")match=reg.search("待查找文本")print match.group(0)(?<=指定字符)此部分定位指定字符,查找但不包含 \\d+此部分为一个以上数字 这样就可以查找出数字字符串 ...

python正则表达式,匹配开头和结尾获取字符串
import reA = '''METAR ZBAA 230330Z 13002MPS 090V170 CAVOK 32\/22 Q1006 NOSIG= <BR\/>METAR ZBAA 230300Z 13003MPS 090V160 CAVOK 32\/23 Q1007 NOSIG= <BR\/>SPECI ZBAA 230330Z 13002MPS 090V170 CAVOK 32\/22 Q1006 NOSIG= <BR\/>'''reg = re.findall(r'(?:METAR|SPECI)+[^=...

python 正则表达式 匹配以指定字符串结尾的
这样 pattern='.+\\.(css|img|js)$'m=re.match(p,url)if m!=None:符合 else:不符合

python正则表达式 如何找到文件中某个特定单词开头以及某一特定数字结...
回答:*前面需要有一些重复的内容,所以会造成re处理代码报错

相似回答