【问题标题】:% symbol and regular expressions [duplicate]% 符号和正则表达式 [重复]
【发布时间】:2020-04-11 17:11:03
【问题描述】:

这行代码是如何工作的?谷歌搜索单个字符效果不佳。

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) 将用 x 替换字符串 z 中的 y
  • r 用于原始(不要与 / 混淆)
  • 数组和索引
  • _R[12].* 匹配“_R”和 1 或 2 后跟随机字符。
  • 行(它是一个字符串)

谢谢!

【问题讨论】:

标签: python regex python-3.x


【解决方案1】:

% string operator 用于字符串插值/格式化。想想sprintfString.format

r'(.*>.*/.*)%s(_R[12].*)' % sample.group(1)

等于

r'(.*>.*/.*)' + sample.group(1) + r'(_R[12].*)'

具体而言,s 运算符(即%s)定义为:

字符串(使用 str() 转换任何 Python 对象)。

.format is the modern way 去,不过。

【讨论】:

    猜你喜欢
    • 2016-11-03
    • 2012-06-22
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    相关资源
    最近更新 更多