我试图同时学习python和regex,但是在寻找如何匹配直到字符串结尾并即时进行替换时遇到了一些麻烦。

所以,我有一个像这样的字符串:

ss="this_is_my_awesome_string/mysuperid=687y98jhAlsji"


我想要的是首先找到687y98jhAlsji(我之前不知道此内容),然后将其替换为myreplacedstuff,如下所示:

ss="this_is_my_awesome_string/mysuperid=myreplacedstuff"


理想情况下,我想做一个regex and replace,方法是先找到mysuperid=之后的内容(直到字符串的结尾),然后执行.replace.sub(如果有此道理)。

我希望对此有任何指导。

最佳答案

您可以尝试以下方法:

 re.sub(r'[^=]+$', 'myreplacedstuff', ss)


这个想法是使用一个不包含定界符(此处为=)的字符类,并使用$锚定模式

说明:

[^=]是字符类,表示不是=的所有字符
   [^=]+此类中的一个或多个字符
   $字符串的结尾

由于正则表达式引擎从左到右起作用,因此仅匹配字符串末尾不是=的字符。

07-26 00:28