Python3在两点之间查找字符串
我已经在py2.7中很好地实现了这一点,但是我现在很难在py3中通过对regex的修改来实现这一点 我只想从文件名返回字符串“Python3在两点之间查找字符串,python,regex,python-3.x,search,Python,Regex,Python 3.x,Search,我已经在py2.7中很好地实现了这一点,但是我现在很难在py3中通过对regex的修改来实现这一点 我只想从文件名返回字符串“voltaire” gpxFileName = '235235voltaire.gpx' m=re.search('(?<=[0-9]).*?(?=.gpx)',gpxFileName) print (m.group(1)) gpxFileName='235235voltaire.gpx' m=重新搜索(“(?您需要使用: 在这里,我们提取一个或多个字母数字字符,
voltaire
”
gpxFileName = '235235voltaire.gpx'
m=re.search('(?<=[0-9]).*?(?=.gpx)',gpxFileName)
print (m.group(1))
gpxFileName='235235voltaire.gpx'
m=重新搜索(“(?您需要使用:
在这里,我们提取一个或多个字母数字字符,就在一个或多个数字之后,.gpx
之前(点必须转义,因为它有特殊含义).你是一个绝对的传奇人物!谢谢。我也知道了,你说的抓取是什么意思?@user2206361谢谢,斜体只是为了强调一下。好的,我认为点有特殊的含义,但是(?=.gpx)是成功工作的部分-是没有被删掉的数字。哦,你能解释一下吗…我猜“+”的意思是任何长度的..对吗?@user2206361+
表示“一个或多个”。如果你想使用回顾和前瞻检查,这里有一个示例表达式可以提取伏尔泰:(?棒极了。清晰而翔实。谢谢,节日快乐!
m=re.search('(?<=[0-9])\w+',gpxFileName)
m=re.search('(?<=\d).*(?=.gpx)',gpxFileName)
>>> import re
>>> s = '235235voltaire.gpx'
>>> re.search(r'\d+(\w+)\.gpx', s).group(1)
'voltaire'