梅尔
我正在尝试建立一个正则表达式:
mystring = /some/path/with/%variable%/%inside%/%it%/
re.findall("[^\s%]+", allocine_spec[key])
并返回以下内容:
['/some/path/', 'variable', '/', 'inside', '/', 'it']
但我只想:
['variable', 'inside', 'it']
仅使用re可以吗?
威克多·斯特里比尤(WiktorStribiżew)
您需要一个更简单的正则表达式:
%([^%]+)%
见正则表达式演示
这将匹配一个%
,然后捕获除%
1组以外的其他1个字符,然后匹配一个尾随的%
。如果您的字符串之间仅包含单词字符%
,则可以替换[^%]+
为\w+
。
请注意,re.findall
如果在模式中定义了捕获组,则仅返回捕获的子字符串。
Python演示:
import re
mystring = "/some/path/with/%variable%/%inside%/%it%/"
print(re.findall("%([^%]+)%", mystring))
# => ['variable', 'inside', 'it']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句