当前位置: 首页 > 知识库问答 >
问题:

正则表达式匹配反斜杠后跟引号

宣星光
2023-03-14

如何写一个正则表达式来匹配这个< code>\"(一个反斜杠然后一个引号)?假设我有这样一个字符串:

<a href=\"google.com\"> click to search </a>

我需要将所有\"替换为",因此结果如下所示:

<a href="google.com"> click to search </a>

这个不起作用:str.replaceAll("\\\","\")因为它只匹配引号。不知道如何使用反斜杠。我本可以先删除反斜杠,但我的字符串中还有其他反斜杠。

共有3个答案

田佐
2023-03-14

尝试这样做:< code>str.replaceAll("\\\\\ " "," \\\"")
因为Java将替换< code>\两次:

(1)\\\\"--

彭畅
2023-03-14

您不需要正则表达式。

str.replace("\\\"", "\"")

应该工作得很好。

< code>replace方法接受两个子字符串,并用第二个子字符串替换第一个子字符串的所有不重叠的内容。根据javadoc:

public String replace(CharSequence target,
                      CharSequence replacement)

将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。替换从字符串的开头进行到结尾,例如,将字符串"aaa"中的"aa"替换为"b"将导致"ba"而不是"ab"

纪实
2023-03-14

如果您不需要任何正则表达式机制,例如预定义的字符类\d、量词等,而不是需要正则表达式的replace eAll,请使用替换需要文字的

str = str.replace("\\\"","\"");

这两种方法都将替换所有出现的目标,但< code>replace将按字面意思处理目标。

但如果你真的必须使用你正在寻找的正则表达式

str = str.replaceAll("\\\\\"", "\"")

\是正则表达式中的特殊字符(例如用于创建\d-表示数字的字符类)。要使正则表达式将\视为普通字符,您需要在它之前放置另一个\,以关闭它的特殊含义(您需要对其进行转义)。因此,我们试图创建的正则表达式是\\

但是要创建表示text\\的字符串文字,以便将其传递给正则表达式引擎,您需要将其写成四个\"\\\"),因为\也是String文字中的特殊字符(使用"…"编写的代码的一部分),因为它可以例如用作\t来表示制表器。这就是为什么您还需要在那里转义\

简而言之,您需要转义\两次:

  • 在正则表达式中\\
  • 然后在字符串文字“\\\\”
 类似资料:
  • 问题内容: 如何编写一个正则表达式来匹配它(反斜杠然后是引号)?假设我有一个像这样的字符串: 我需要将所有替换为,因此结果如下所示: 这是行不通的:因为它只匹配引号。不确定如何使用反斜杠。我本可以先删除反斜杠,但字符串中还有其他反斜杠。 问题答案: 如果你 不需要任何像预定义的字符类\ d,量词等正则表达式的机制 ,而不是其预期正则表达式使用其预计文字 两种方法都将替换 所有 出现的目标,但是将按

  • 问题内容: 我没有JavaScript方面的丰富经验,但是我正在尝试创建一个标记系统,而不是使用or ,而是使用。 我该如何使用而不是。我尝试做并添加,但是失败了。 问题答案: 您可以这样逃避它。 或只使用indexOf

  • 问题内容: 我想构建一个JS函数,将一个参数列表隐藏到有效路径中(因为我不确定路径的一部分是否带有斜杠) 这是功能: 使用的RegEx匹配了http://regexpal.com上的所有开始和结束斜杠和反斜杠,但是该功能无法正常工作(RegEx不匹配)。此外,Chrome指出 语法错误:无效的正则表达式:/()$ | ^()/:未终止的组 当我只使用RegEx 但是,使用RegEx 提前致谢! 狮

  • 本文向大家介绍解决Python正则表达式匹配反斜杠''\''问题,包括了解决Python正则表达式匹配反斜杠''\''问题的使用技巧和注意事项,需要的朋友参考一下 在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一、引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的: 1)普通字符串:'\\' 2)原始字符串:r'\' 但事实上在

  • 我正在尝试用单个反斜杠替换所有双反斜杠。我想将替换为。我以为python将视为一个反斜杠,将视为带有两个反斜杠的字符串。但是当我尝试时 因此,我尝试用原始字符串切换替换字符串: 这不是我需要的。所以我只尝试了原始字符串中的一个反斜杠:

  • 问题内容: 为了匹配文字上的反斜杠,许多人和PHP手册都说:总是这样对它进行三倍转义 注意事项 : 单引号和双引号的PHP字符串具有反斜杠的特殊含义。因此,如果\必须与正则表达式匹配,则必须在PHP代码中使用或。 这是一个示例字符串: 结论 : 如果模式是单引号,则必须将双反斜杠转义以匹配文字\ 如果模式被双引号引起,则取决于反冲是否在字符类内部,在该字符级中必须至少将其两次转义,而必须将 其三倍