关于正则表达式中使用r后还需要使用转义字符的解释

问题描述:

 

 当使用 ‘r’ 将正则表达式转为 原生字符串时,里面的正则表达式还需要使用  \ 对 ()   进行转义,否则在使用 group进行分组是获取到的值为匹配的整个字符串,而不是用()包裹的字符。

 

问题原因:

由于 () or * or .etc 在字符串里面不属于转义字符,但是对于正则表达式来说是有特殊意义的。为了让正则引擎把它认为是一个普通字符串,所以需要对其进行转义。即:r 只是将字符串转为原生字符串,对于正则表达式还是需要使用转义字符 \ 的。

posted @ 2020-04-03 17:32  河图一号  阅读(696)  评论(0编辑  收藏  举报