正则表达式:如何匹配反斜杠 "/"

 我来答
佳不龙在多3910
2013-10-13 · 超过53用户采纳过TA的回答
知道答主
回答量:123
采纳率:66%
帮助的人:53.2万
展开全部
反斜杠的麻烦 在早期规定中,正则表达式用反斜杠字符 (\) 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突。 让我们举例说明,你想写一个 RE 以匹配字符串 \section,可能是在一个 LATEX 文件查找。为了要在程序代码中判断,首先要写出想要匹配的字符串。接下来你需要在所有反斜杠和其它元字符前加反斜杠来取消其特殊意义,结果要匹配的字符串 就成了\\section。 当把这个字符串传递给re.compile()时必须还是\\section。然而,作为Python的字符串实值(string literals)来表示的话,\\section中两个反斜杠还要再次取消特殊意义,最后结果就变成了\\\\section。 字符阶段\section要匹配的字符串\\section为 re.compile 取消反斜杠的特殊意义 \\\\section 为\\section的字符串实值(string literals)取消反斜杠的特殊意义 简单地说,为了匹配一个反斜杠,不得不在 RE 字符串中写 '\\\\',因为正则表达式中必须是 \\,而每个反斜杠在常规的 Python 字符串实值中必须表示成 \\。在 REs 中反斜杠的这个重复特性会导致大量重复的反斜杠,而且所生成的字符串也很难懂。 解决的办法就是为正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 r 反斜杠就不会被任何特殊方式处理,所以 r\n 就是包含\ 和 n 的两个字符,而 \n 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。
琉璃易碎smile
2015-10-25 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4789
采纳率:92%
帮助的人:320万
展开全部
正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 "r" 反斜杠就不会被任何特殊方式处理,所以 r"\n" 就是包含"\" 和 "n"
的两个字符,而 "\n" 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式