python - 正则如何重复匹配多次字符串而非单个字母
怪我咯
怪我咯 2017-05-18 10:47:24
[Python讨论组]

比如,在下面的string中匹配到'asd'的多个重复'asdasdasdasdasdasdasd'而不是单个'asd'
string='asdasdasdasdasdasdasddasfdhgasghsd'
谢谢!

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
PHP中文网
string = 'asdasdasdasdasdasdasddasfdhgasghsd'
print(re.findall(r'((?:asd)+)', string))

# 解释下
# (?:asd)+ 是正则的一种不存分组的语法, 它具有2个用途, 将`asd`看成一个样式整体, 所以当我们用+时, 就能代表多个asd
# () 最外层的括号就是将匹配的结果存入分组, 与上面不同的就是, 少了`?:`, 因为没有这个, 所以它能存到分组
# 所以整体的结果就是: 将多个asd匹配, 并存入分组, 然后在re.findall的结果就能看到了
为情所困

/asd/g

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号