Regex 如何用re.sub替换此字符串?
假设有两个字符串,Regex 如何用re.sub替换此字符串?,regex,python-3.x,Regex,Python 3.x,假设有两个字符串,foo.example.com/1.2.3/sdk foo-bar.min.js和foo.example.com/1.2.3/sdk-foo-bar-dev.min.js 默认情况下,HTML代码中使用第一个参数,但根据参数的不同,我需要将其替换为第二个参数(即添加-dev) 我已经有了一个正则表达式(foo\.example\.com/1\.2\.3/(sdk foo bar.min\.js),它可以查找字符串并捕获组sdk foo bar,但是我现在如何用sdk foo b
foo.example.com/1.2.3/sdk foo-bar.min.js
和foo.example.com/1.2.3/sdk-foo-bar-dev.min.js
默认情况下,HTML代码中使用第一个参数,但根据参数的不同,我需要将其替换为第二个参数(即添加-dev
)
我已经有了一个正则表达式(
foo\.example\.com/1\.2\.3/(sdk foo bar.min\.js
),它可以查找字符串并捕获组sdk foo bar
,但是我现在如何用sdk foo bar dev
?捕获您需要保留的内容:re.sub(r'(foo\.example\.com/1\.2\.3/)sdk foo bar(\.min\.js),r'\1sdk foo bar dev\2',s)
下面是答案。
inp = 'foo.example.com/1.2.3/sdk-foo-bar.min.js'
m = re.search('(^.*)(.min.js)', inp)
if m:
print ('%s-%s%s' % (m.group(1), 'dev', m.group(2)))