在做表情字符串替换的时候,发现js的replace函数不好用,在网上找了好久,还是没找到解决方法,没法,只有重新看了app doc,原来一个小的细节遗漏了:
注意:
ECMAScript v3 规定,replace() 方法的参数 replacement
可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数
是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject
中出现的位置。最后一个参数是 stringObject 本身。
于是自己做了一个小的测试,结果真的可以,现粘贴如下,方便以后查找。
var faceList ={
"[大笑]":"_大笑_src",
"[傻笑]":"_傻笑_src",
"[呵呵]":"_呵呵_src",
"[哈哈]":"_哈哈_src"
};
$(function() {
var regexp = /\[[^\]]+\]/g;
var context = '我[大笑] [傻笑] [呵呵]jlj2ff3[哈哈]dddd';
// 测试1
//alert(context.replace(/\[[^\]]+\]/g, replaceFace1));
// 测试2
alert(replaceFace(context));
})
function replaceFace(context) {
var regexp = /\[[^\]]+\]/g;
return context.replace(regexp, function(reg, num, src) {
// @param reg 匹配字符串
// @param num 匹配字符串的开始位置
// @param src 源字符串
return faceList[reg];
});
}
function replaceFace1(reg, num, src) {
return faceList[reg];
}
分享到:
相关推荐
3. `match()`:返回字符串中所有匹配正则表达式的子串组成的数组。 4. `search()`:返回匹配项的索引,找不到则返回-1。 5. `replace()`:用新字符串替换匹配项。 6. `split()`:根据正则表达式分割字符串。 ...
- **match()**:在字符串中查找与正则表达式匹配的子串,并返回结果数组。 - **search()**:测试字符串中是否存在指定模式,返回第一个匹配项的索引,否则返回-1。 - **replace()**:替换与正则表达式匹配的子串...
- JSON格式的字符串通常需要转换成对象或数组,正则表达式在此过程中可以帮助识别键和值的边界。 4. **在编程语言中的应用**: - 大多数编程语言都内置了正则表达式支持,如Python的`re`模块,JavaScript的`...
10.11_re.sub正则替换|正则表达式与JSON|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
在JavaScript中,正则表达式被广泛用于验证输入、搜索、替换和分割字符串。 一、正则表达式基础 1. 创建正则表达式:在JavaScript中,有两种方式创建正则表达式,一是字面量表示法(/pattern/flags),二是构造...
6. **处理嵌套Json**:如果Json数据中包含嵌套的对象或数组,你需要递归地调用正则表达式和解析函数,直到所有层次都被处理。 7. **错误处理**:在处理过程中,要考虑到可能出现的错误,如无效的Json格式、正则...
JavaScript中的正则表达式是一种强大的文本处理工具,用于匹配、替换、分割字符串,以及执行其他复杂的文本操作。在JavaScript中,正则表达式是通过创建一个RegEx对象来实现的,它们遵循ECMAScript规范,这是一套...
正则表达式是一种模式匹配工具,用于在字符串中搜索、替换或提取符合特定模式的文本。在JavaScript中,正则表达式常用于数据验证,确保用户输入的数据符合预期格式。例如: - `isDigit` 函数使用正则表达式 `/^[0-9...
在JavaScript编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换和提取字符串中的特定模式。在这个示例中,我们将深入探讨如何使用正则表达式来获取小括号 `()`、中括号 `[]` ...
JavaScript中的正则表达式(Regular Expression)是一种模式匹配工具,用于在字符串中进行搜索、替换以及提取信息。它是编程语言中处理文本的强大武器,尤其在处理数据验证、文本解析和数据提取方面表现突出。本篇将...
本课程重点涵盖了JavaScript的几个关键知识点:正则表达式、AJAX(异步JavaScript和XML)以及相关的编程基础。 正则表达式是JavaScript中用于模式匹配和文本操作的强大工具。它允许程序员通过定义特定的模式来搜索...
正则表达式(Regular Expression)是JavaScript中进行文本模式匹配的强大工具,用于搜索、替换、验证文本字符串。其主要知识点包括: 1. **基础语法**:如`.`匹配任意字符,`^`表示行首,`$`表示行尾,`*`表示零次...
在JavaScript中,正则表达式(Regular Expressions)是用于处理字符串的强大工具,它们用于模式匹配和文本搜索替换。 正则表达式在JavaScript中的使用非常普遍,你可以通过创建一个正则对象来使用它们,如`/pattern...
在这个上下文中,正则表达式被用来识别JSON字符串中的特定字符,如大括号`{}`、中括号`[]`、逗号`,`和冒号`:`,这些字符通常用于定义JSON对象和数组的结构。 格式化的步骤包括将输入的JSON字符串转换为规范的JSON...
在JavaScript中,正则表达式是一种强大的文本处理工具,它可以用来搜索、替换、验证以及提取文本中符合特定模式的信息。当涉及到正则表达式时,分组功能尤为重要,它允许我们将正则表达式中的一部分用括号括起来,...
在易语言中,正则表达式通常是通过内置的字符串处理函数来实现的,例如“正则查找”和“正则替换”等。这些函数可以帮助我们匹配特定的文本模式,从而在Json字符串中找到我们需要的数据。 描述中的“@资源源码站”...
正则表达式是一种文本处理工具,用于搜索、替换、分析和修改文本数据,特别适用于处理大量文本数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...
4. **Split**: 使用正则表达式分割字符串,并返回子字符串数组。 5. **IsMatch**: 简单判断输入字符串是否与正则表达式匹配。 **有限状态引擎** 有限状态引擎通过构建有限状态机来处理正则表达式。每个状态对应正则...
正则表达式是一种模式匹配工具,用于在字符串中查找、替换或提取特定模式的文本。在网页抓取中,我们可以使用它来定位HTML文档中的特定元素,如URLs、标题、日期等。JavaScript的全局对象`RegExp`和字符串对象的方法...