Jquery 从不同类型引号内的字符串中删除文本

Jquery 从不同类型引号内的字符串中删除文本,jquery,regex,Jquery,Regex,我想删除引号内字符串中的文本。下面的代码完成了这项工作,但我需要修改它,以便它还包括引号,例如 "", '', ``,`´ and « 因为每种语言都不一样 var s= "Socken ´Marc Colours` aus Baumwollkomposition" s= s.replace(/ +´.+` +/g,' '); 我该怎么做?谢谢 您可以使用括号([和])指定字符组,其中组中的任何字符都需要匹配。例如: s = s.replace(/\s*[´"].*?[`"]\s*/g,'

我想删除引号内字符串中的文本。下面的代码完成了这项工作,但我需要修改它,以便它还包括引号,例如

"", '', ``,`´ and « 
因为每种语言都不一样

var s= "Socken ´Marc Colours` aus Baumwollkomposition"
s= s.replace(/ +´.+` +/g,' ');
我该怎么做?谢谢

您可以使用括号(
[
]
)指定字符组,其中组中的任何字符都需要匹配。例如:

s = s.replace(/\s*[´"].*?[`"]\s*/g,' ');
该正则表达式解释如下:

\s*    ; any whitespace
[´"]   ; followed by either ´ or " (add more characters here if needed)
.*?    ; and any text
[`"]   ; up to the closing ` or " (add more characters here if needed)
\s*    ; and finally any trailing whitespace
如您所见,您可以通过将被视为引号的字符列表放入
['''']
组来扩展它们。例如,
[12]
匹配
1
2
,而
[24ab]
匹配
2
4
a
b

快速谷歌搜索返回一个关于
[
]
工作原理的很好的解释:

POSIX方括号表达式是一种特殊的字符类。POSIX方括号表达式匹配一组字符中的一个字符,就像常规字符类一样。它们使用与方括号相同的语法。连字符创建范围,开头的插入符号否定方括号表达式


()。

以下代码片段将删除您在问题中给出的四种引号内的文本中的所有单词。请注意,匹配是非贪婪的,这意味着它将使每个开始引号与最近的结束引号相匹配

var s = s.replace(/['"`«].*?['"´»]/g, "");

你需要一个函数来获取输入字符串,并删除字符串中的文本?你忘了添加单引号和«。但是这也会删除引号中的文本吗?@TimBiegeleisen-好吧,我想展示一下如何完成任务。只需在
[
]之间添加这些符号就可以了
符号。这就是我添加解释的原因:)@user1937021-是的,
*?
部分用引号匹配文本。但是这是否也会删除引号内的文本?