PHP正则表达式(*SKIP)(*F)在javascript中相等

PHP正则表达式(*SKIP)(*F)在javascript中相等,javascript,regex,Javascript,Regex,如何将下面的代码转换为javascript正则表达式 $regex = "~(?i)<[^>]*>(*SKIP)(*F)|[a-z][a-z ]+~"; $replace = '<span class="text=arial">\0</span>'; $replaced = preg_replace($regex,$replace,$original); $regex=“~(i)]*>(*SKIP)(*F)|[a-z][a-z]+~”; $replac

如何将下面的代码转换为javascript正则表达式

$regex = "~(?i)<[^>]*>(*SKIP)(*F)|[a-z][a-z ]+~";
$replace = '<span class="text=arial">\0</span>';
$replaced = preg_replace($regex,$replace,$original);
$regex=“~(i)]*>(*SKIP)(*F)|[a-z][a-z]+~”;
$replace='\0';
$replace=preg_replace($regex,$replace,$original);

我曾尝试遵循并使用他们的转换器将其转换为JavaScript,但现在我发现这一点不起作用:

/<[^>]*>(*SKIP)(*F)|[a-z][a-z ]+/gmi
/]*>(*跳过)(*F)|[a-z][a-z]+/gmi
我找不到替代
(*SKIP)(*F)
部分的方法,而且我不太擅长正则表达式

有人能给我指一下正确的方向吗


谢谢

如果标记已正确关闭,则您可以自由使用正向前瞻断言

([a-z][a-z ]+)(?=[^<>]*<)

([a-z][a-z]+)(?=[^]*string.replace(/([a-z][a-z]+)(?=[^]*如果您想保持与PHP中正则表达式完全相同的行为,那么您可以使用带有replace的函数:

var text = '<a href="http://domain.com/path" target="_blank">GSPd 役に立つツール: スキル意欲マトリクス</a>';
text = text.replace(/<[^>]*>|([a-z][a-z ]+)/gi, function (m, s) {
    if (s !== undefined) {
        return '<span class="text=arial">' + s + '</span>';
    } else {
        return m;
    }
});
var text='';
text=text.replace(/]*>|([a-z][a-z]+)/gi,函数(m,s){
如果(s!==未定义){
返回“+s+”;
}否则{
返回m;
}
});

如果我在这里调用了一个子匹配项
s
,则返回它,并将其包装在span标记中,如果没有,则返回匹配的部分原样。

很好。几乎可以工作。如何添加以下字符:!“@@#$%&/{([])}=?+|-注意:regex101不会将您的正则表达式从一种风格转换为另一种风格。
var text = '<a href="http://domain.com/path" target="_blank">GSPd 役に立つツール: スキル意欲マトリクス</a>';
text = text.replace(/<[^>]*>|([a-z][a-z ]+)/gi, function (m, s) {
    if (s !== undefined) {
        return '<span class="text=arial">' + s + '</span>';
    } else {
        return m;
    }
});