Python %符号和正则表达式
这行代码是如何工作的?谷歌对单个字符的搜索效果不佳Python %符号和正则表达式,python,regex,python-3.x,Python,Regex,Python 3.x,这行代码是如何工作的?谷歌对单个字符的搜索效果不佳 re.sub(r'(.*>.*/.*)%s(_R[12].*)' % sample.group(1), r'\1%s\2' % sample_name[1], line) 我不明白的是: “%sample.group(1)”。。。。你在干什么 “\1%s\2”% %s 我的理解是: re.sub(x,y,z)将在字符串z中用x代替y r代表未加工(不要弄乱/) 数组和索引 \R[12].匹配“\R”和后跟随机字符的1或2 行(它是
re.sub(r'(.*>.*/.*)%s(_R[12].*)' % sample.group(1), r'\1%s\2' % sample_name[1], line)
我不明白的是:
。。。。你在干什么“%sample.group(1)”
“\1%s\2”%
%s
- re.sub(x,y,z)将在字符串z中用x代替y
- r代表未加工(不要弄乱/)
- 数组和索引
匹配“\R”和后跟随机字符的1或2\R[12].
- 行(它是一个字符串)
sprintf
或String.format
:
r'(.*>.*/.*)%s(_R[12].*)' % sample.group(1)
相等于
r'(.*>.*/.*)' + sample.group(1) + r'(_R[12].*)'
具体而言,s
运算符(即,%s
)定义为:
字符串(使用转换任何Python对象)
不过,要继续。%
是printf样式的格式。基本上,它使用上一步的数据构造正则表达式和替换字符串。