所以我现在一直在运行regexp一段时间,并且一直使用RegEx101来测试我的模式,但它从未失败过(还)。
所以我试图通过正则表达式将android Emojicons字符串替换为适当的HTML图像tage,代码似乎在上面的网站中没有问题匹配,甚至可以与PHP一起使用,但不知何故,它根本不匹配在javascript中...所以这是我的代码:
function loadEmojisInMessage(message) {
var regExp = /({emoji:(.*?)})/g; //var regExp = new RegExp("({emoji:(.*?)})","g");
message.replace(regExp, '<img src="emojis/emoji_$2.png" id="$2" class="emojicon" />').toString();
return message;
}
起初我以为我做错了什么,所以我把代码更改为此,只是为了测试
function loadEmojisInMessage(message) {
var regExp = /({emoji:(.*?)})/g; //var regExp = new RegExp("({emoji:(.*?)})","g");
message.replace(regExp, 'test?').toString();
return message;
}
但即使这根本不会取代! (我的想法是它遇到了与字符串中的模式匹配的问题:/)
要匹配的示例字符串:
{emoji:em_1f50f}
我在这里尝试做的是用图像HTML标签替换整个字符串(上面),同时使用第二个匹配[它是URL字符串的第二个括号()]
最诚挚的问候
<小时/> 更新: 我忘了添加第一个匹配的括号,对不起!
此外,您可以测试模式here
答案 0 :(得分:0)
您没有将replace()
方法调用的结果分配回变量message
。如果你不这样做,message
保持不变。
message = message.replace(regExp, '<img src="emojis/emoji_$2.png" id="$2" class="emojicon" />');