繁体   English   中英

使用re(reggae)在python中查找模式

[英]Finding a pattern in python using re (reggae)

我正在尝试建立一个正则表达式:

mystring = /some/path/with/%variable%/%inside%/%it%/
re.findall("[^\s%]+", allocine_spec[key])

并返回以下内容:

['/some/path/', 'variable', '/', 'inside', '/', 'it']

但我只想:

['variable', 'inside', 'it']

仅使用re可以吗?

您需要一个更简单的正则表达式:

%([^%]+)%

正则表达式演示

这将匹配% ,然后将除%以外的1个以上的字符捕获到组1中,然后将匹配尾随的% 如果您的字符串仅包含%之间的单词字符,则可以将[^%]+替换为\\w+

请注意,如果在模式中定义了捕获组,则re.findall仅返回捕获的子字符串。

Python演示

import re
mystring = "/some/path/with/%variable%/%inside%/%it%/"
print(re.findall("%([^%]+)%", mystring))
# => ['variable', 'inside', 'it']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM