我有一个这样的模板字符串:
'%album_artist%/%album%{ (%year%)}/{%track_number%. }%track_artist% - %title%'
我想找到所有变量,这些变量不是可选的,因此没有用大括号括起来:track_artist
,title
,album_artist
和{track_number
和{
目前,我的表达式是'(?<![{])%([A-Za-z_]+)%(?![}])'
,但它也匹配year
。在
为了使正则表达式不被变量名周围的附加字符或大括号内的多个变量混淆,我需要做些什么更改?在
我使用Python的re
。在
相关问题:
您可以尝试使用交替,只对不匹配大括号的分支进行分组。它将返回带空白字符串的结果,您可以筛选出这些字符串,例如:
如果使用PHP,可以使用以下模式:
示例:
^{pr2}$如果使用Python,则可以使用一个捕获组执行相同的操作(即:在前面匹配花括号中的内容,然后搜索要查找的内容):
通知:
您可以尝试另一种模式,它将在左大括号后的最后一个
%
停止匹配(不能确定它比第一个快):相关问题 更多 >
编程相关推荐