正则表达式在文本中找不到匹配后的匹配

时间:2014-12-16 17:55:06

标签: javascript regex actionscript-3 mailto emoji

我试图找到笑脸文字的所有外观":D"在" mailto"之后没有关注 问题是我试图检测htmlText中的表情符号,有时可能不正确 例子" mailto:Denis@email.com"微笑模式":D"出现在电子邮件中时不应该匹配。 这是我尝试实施的错误示例:http://regexr.com/3a3at 有人请帮忙。

1 个答案:

答案 0 :(得分:1)

Javascript(真可惜!)不支持lookbehinds,因此最现实的选择就像是

input
    .replace(/(mailto|https?):/g, "$1\x00")
    .replace(/:D/g, "smile")
    .replace(/\x00/g, ":")

基本上,将“不需要的”冒号替换为\x00(或输入中不太可能出现的其他符号),处理微笑,然后将\x00替换回冒号。