关于正则表达式中使用r后还需要使用转义字符的解释
问题描述:
当使用 ‘r’ 将正则表达式转为 原生字符串时,里面的正则表达式还需要使用 \ 对 () 进行转义,否则在使用 group进行分组是获取到的值为匹配的整个字符串,而不是用()包裹的字符。
问题原因:
由于 () or * or .etc
在字符串里面不属于转义字符,但是对于正则表达式来说是有特殊意义的。为了让正则引擎把它认为是一个普通字符串,所以需要对其进行转义。即:r 只是将字符串转为原生字符串,对于正则表达式还是需要使用转义字符 \ 的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步