AJW*_*AJW 1 python regex python-2.7
我正在尝试同时学习python和正则表达式,我在找到如何匹配到字符串结尾并在运行中进行替换时遇到了一些麻烦.
所以,我有一个像这样的字符串:
ss="this_is_my_awesome_string/mysuperid=687y98jhAlsji"
Run Code Online (Sandbox Code Playgroud)
我想要的是先找到687y98jhAlsji(我手边不知道这个内容),然后将其替换为myreplacedstuff:
ss="this_is_my_awesome_string/mysuperid=myreplacedstuff"
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想regex and replace首先找到内容mysuperid=(直到字符串的结尾),然后执行一个.replace或者.sub如果这是有道理的.
我将不胜感激任何指导.
你可以试试这个:
re.sub(r'[^=]+$', 'myreplacedstuff', ss)
Run Code Online (Sandbox Code Playgroud)
我们的想法是使用一个排除分隔符(此处=)的字符类并使用它来锚定模式$
说明:
[^=]是字符类,表示 字符串的此类末尾中不是=
[^=]+一个或多个字符的所有字符
$
由于正则表达式引擎从左到右工作,因此只=匹配不在字符串末尾的字符.