此人真菜 2021-07-24 14:23 采纳率: 75.8%
浏览 44
已结题

应该如何理解下列代码正则表达式


from re import compile,IGNORECASE
words="agent Andy tells agent Bob that agent Cock doesn't like agent Dick."
x=compile(r'agent (\w)\w*',IGNORECASE)
x1=compile(r'agent (\w)*',IGNORECASE)
y=x.sub(r'\1***',words)
y1=x1.sub(r'\1***',words)
#更换words
words1="Andy tells Bob that Cock doesn't like Dick."
x2=compile(r'(andy|bob|cock|dick)',IGNORECASE)
y2=x2.sub(r'\1***',words1)
print(y)
print(y1)
print(y2)

y,y1,y2输出的结果是:

img

y1为什么显示的是尾字母* * *?
如何让y2显示和y相同?
ps:有没有正则表达式的究极文献。

  • 写回答

1条回答 默认 最新

  • 此人真菜 2021-07-24 14:34
    关注

    第四行每个代码都看得懂,但是连起来为什么能得出正确结果,我也不知道该怎么理解。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月1日
  • 创建了问题 7月24日

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题