gpt4 book ai didi

regex - 这可以用一个正则表达式吗?

转载 作者:行者123 更新时间:2023-12-01 07:44:45 25 4
gpt4 key购买 nike

我有一个类似的字符串

{! texthere }

我想捕获 {!直到结束或到达第一个}。所以如果我有

{!text here} {!text here again} {!more text here. Oh boy!

我想要 ["{!text here}", "{!text here again}", "{!more text here.oh boy!"]

我认为这会起作用

{!.*}??

但是上面的字符串会变成 ["{!text here} {!text here again} {!more text here. Oh boy!"]

我对正则表达式仍然非常缺乏经验,所以我不明白为什么这不起作用。我认为它会匹配'{!'后跟任意数量的字符,直到到达可能不存在的括号(非贪婪)。

最佳答案

使用 positive lookbehind (?<={!)[^}]+ :

In [8]: import re

In [9]: str="{!text here} {!text here again} {!more text here. Oh boy!"

In [10]: re.findall('(?<={!)[^}]+',str)
Out[10]: ['text here', 'text here again', 'more text here. Oh boy!']

这是任何非}的积极向后看如果跟随 {! 则匹配字符.

关于regex - 这可以用一个正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14897245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com