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

如题所述

反斜杠的麻烦在早期规定中,正则表达式用反斜杠字符 (\) 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 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 字符串表示。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-25
正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 "r" 反斜杠就不会被任何特殊方式处理,所以 r"\n" 就是包含"\" 和 "n"
的两个字符,而 "\n" 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

正则表达式:如何匹配反斜杠 "\/"
回答:正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 "r" 反斜杠就不会被任何特殊方式处理,所以 r"\\n" 就是包含"\\" 和 "n" 的两个字符,而 "\\n" 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。 正则表达式,又称正规表示法、常规表示法...

正则表达式 反斜杠的匹配 2018-11-30
使用上面两种方法一直无法匹配 4\\5 中的反斜杠,最终经过查询,发现自己理解错误, 字符串存在转义,正则也存在转义 在字符串中,我们会用一反斜杠加特定的字符来表达一些特定的功能,比如, \\n 表示换行, \\" 表示双引号等等,而如果要输出反斜杠本身,则用 \\\\ 如下所示:可以看到,先是 \\" 被转...

java正则表达式如何匹配反斜杠?
JAVA中匹配反斜杠的正则表达式的书写方式为:1 String regex="\\\\\\";注意了,一定要写四个反斜杠,第一和第三个反斜杠是用作java字符串的转义,实际上只代表两个反斜杠。其实只要输入如下代码运行验证一下即可:System.out.print("\\\\\\");\/\/输出为 \\\\ ...

java正则表达式怎么匹配反斜杠
因为在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠.具体的程序如下,你看看就明白了.import java.util.regex.Matcher;import ja...

正则表达式中的双反斜杠是什么意思??
例如,\\d 表示匹配任意一个数字,而 \\\\d 则表示匹配字符 \\d 本身。🔍双反斜杠的作用双反斜杠的作用是将特殊字符转义为普通字符,以便正则表达式引擎能够正确地识别它们。🔍双反斜杠的使用方法在正则表达式中,如果要匹配字符 \\,需要使用双反斜杠 \\\\ 来转义。例如,要匹配字符串 (11...

JAVA正则表达式中如何匹配反斜杠 \\
\\\\\\ 4个斜杠,因为\\既是字符串的转义符也是正则表达式的转义符,所以要转义两次

用正则表达式怎么单独验证一个反斜杠\/
var str = "\/";var reg = \/^\\\/$\/;console.log (reg.test (str));

正则表达式,求匹配:双反斜杠(\\\\)合法,单反斜杠不合法(\\)
^((\\\\\\)*[^\\s"'(\\\\)]*)这个正则表示一个不包括空白符,引号,圆括号的字符串,反斜杠只能成对出现,匹配这个正则表达式就是合法的,否则非法 如果你想找出只有奇数个反斜杠的子字符串 ^(?:(\\\\(?:\\\\\\)*(?!\\\\).?)*(?:\\\\\\)*[^\\s'"\\\\]*)这个正则表达式的Group1就是 ...

python正则表达式怎么区分正反斜线
正则表达式匹配反斜杠"\\",为什么是"\\\\\\"或是 r"\\\\"呢?因为在正则表达式中\\为特殊符号,为了取消它在正则表达式中的特殊意义需要加一个\\就变成了\\\\,但是问题又来了,\\也是字符串中的特殊字符,所以又要分别对两个\\取消其特殊意义,即为\\\\\\。Python中有一个原始字符串操作符,用于那些字符串中...

正则表达式中的反斜杠如何表示
一个反斜杠替换一个。要替换反斜杠必须成对出现。所以两个能替换一个!三个也只能替换一个。你要替换两个 ,必须写出 \\\\\\

相似回答