You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用raw string literal编写包含引号列表的正则表达式?

正则表达式与Raw String Literal的结合实践

Raw String Literal的核心价值是减少正则表达式中反斜杠的重复转义,正则表达式的作用则是精准匹配目标子串,这也是两者搭配使用的核心原因。下面是匹配包含双引号、单引号、反引号列表的特定格式正则表达式实现:

代码实现

# 普通字符串写法:需多次转义反斜杠
rexp = '\\$\\{[\\\\\\w]+\\(.*\\)\\[["\'`]\\]\\}'
print(rexp, len(rexp))

# Raw String写法:转义逻辑更简洁直观
rexp1 = r'\$\{[\\\w]+\(.*\)\[["\'`]\]\}'
print(rexp1, len(rexp1))

运行输出

\$\{[\\\w]+\(.*\)\[["'`]\]\} 28
\$\{[\\\w]+\(.*\)\[["\'`]\]\} 29

差异说明

  • 普通字符串模式下,每一个正则需要的反斜杠都要额外转义一次,最终输出的字符串长度更短(内部实际有效反斜杠数量被转义逻辑压缩)
  • Raw String模式下,无需对正则中的反斜杠做额外转义,写法更贴近原始正则表达式,字符串长度直接对应正则的实际字符数量

内容的提问来源于stack exchange,提问作者Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:15:40