我希望有人可以帮助我在javascript中找到符合以下声明要求的合适的正则表达式。我尝试了一些表达式,但在搜索中包含星号字符作为字符文字会使事情变得复杂。
给定字符串str,匹配并替换星号字符的所有出现以及正确的转义序列以将其视为字符文字,但忽略字符串中包含的任何星号字符:&lt; *&gt; < / p>
任何帮助,非常感谢。 丹尼尔
答案 0 :(得分:0)
var x='xx**<*>*><*<*>>>*';
x=x.replace(/(<)?\*(>)?/g, function($0, $1 ,$2){
return $1 ? $2 ? $0 : 'y' : $2 ? 'y' : 'y';
});
alert(x);
答案 1 :(得分:0)
如果它是<*>
序列,您必须避免替换*
(并且您正在使用PCRE等),那么您可以使用以下内容:
/(?<!<)\*(?!>)/