Regex 如何在正则表达式中处理双引号?
我想在HTML的div中使用Regex来替换某个字符串,该字符串如下所示: age:7Refat“student”或者类似于age:7Refat,我正在使用以下命令,该命令与第二种模式一致: 但是如果我想对这两种模式都使用通用命令,问题是我不知道如何处理第一种模式,因为它有双引号“”,并且我不能写:Regex 如何在正则表达式中处理双引号?,regex,html,Regex,Html,我想在HTML的div中使用Regex来替换某个字符串,该字符串如下所示: age:7Refat“student”或者类似于age:7Refat,我正在使用以下命令,该命令与第二种模式一致: 但是如果我想对这两种模式都使用通用命令,问题是我不知道如何处理第一种模式,因为它有双引号“”,并且我不能写: $("#order_list").append($(this).text().replace(new RegExp("age:[0-9]+"[a-z]"","g"),'')); 或 $("#ord
$("#order_list").append($(this).text().replace(new RegExp("age:[0-9]+"[a-z]"","g"),''));
或
$("#order_list").append($(this).text().replace(new RegExp("price:[0-9]+[\"a-z\"]","g"),''));
要么像你在第三个例子中那样逃避引用(但我认为你把它们放在了错误的地方): 或者(更好)使用正则表达式文字:
/price:[0-9]+"[a-z]"/g
你可以试试这个
$("#order_list").append($(this).text().replace(new RegExp("age:[0-9]+\"[a-z]\"","g"));
与此相反:-
$("#order_list").append($(this).text().replace(new RegExp("age:[0-9]+","g"),''));
我终于明白了:
$("#order_list").append(($(this).text().replace(new RegExp("age:[0-9]+","g"),'')).replace(new RegExp("[a-zA-Z]+","g"),'').replace(new RegExp("\"+","g"),''));
这首先是一个基本的javascript错误。您需要转义双引号:\““.不工作,给我一个语法错误这个不工作,它给我一个语法错误,因为它读取第一个引号,因为它是exp的结尾。这个不工作,它给我一个语法错误,因为它读取第一个引号,因为它是exp的结尾。你把regex文本包装在引号中了吗?不要:用
/
字符分隔正则表达式(例如:/price:[0-9]+“[a-z]”/g
而不是”/price:[0-9]+“[a-z]”/g“
,这是一个语法错误)。我使用了您编写的regexp->>新的regexp(“price:[0-9]+\[a-z]\\,“g”)@at-听起来您有一个不匹配的报价。
$("#order_list").append($(this).text().replace(new RegExp("age:[0-9]+","g"),''));
$("#order_list").append(($(this).text().replace(new RegExp("age:[0-9]+","g"),'')).replace(new RegExp("[a-zA-Z]+","g"),'').replace(new RegExp("\"+","g"),''));