`
charice59
  • 浏览: 9853 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

json数组的正则表达式替换

阅读更多

在做表情字符串替换的时候,发现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];
}

分享到:
评论

相关推荐

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    3. `match()`:返回字符串中所有匹配正则表达式的子串组成的数组。 4. `search()`:返回匹配项的索引,找不到则返回-1。 5. `replace()`:用新字符串替换匹配项。 6. `split()`:根据正则表达式分割字符串。 ...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    - **match()**:在字符串中查找与正则表达式匹配的子串,并返回结果数组。 - **search()**:测试字符串中是否存在指定模式,返回第一个匹配项的索引,否则返回-1。 - **replace()**:替换与正则表达式匹配的子串...

    13.正则表达式.zip

    - JSON格式的字符串通常需要转换成对象或数组,正则表达式在此过程中可以帮助识别键和值的边界。 4. **在编程语言中的应用**: - 大多数编程语言都内置了正则表达式支持,如Python的`re`模块,JavaScript的`...

    10.11 re.sub正则替换|正则表达式与JSON|Python3.8入门 & 进阶 & 原生爬虫实战完全解读

    10.11_re.sub正则替换|正则表达式与JSON|Python3.8入门_&_进阶_&_原生爬虫实战完全解读

    JavaScript对象之正则表达式共16页.pdf.zi

    在JavaScript中,正则表达式被广泛用于验证输入、搜索、替换和分割字符串。 一、正则表达式基础 1. 创建正则表达式:在JavaScript中,有两种方式创建正则表达式,一是字面量表示法(/pattern/flags),二是构造...

    易语言正则取Json数据

    6. **处理嵌套Json**:如果Json数据中包含嵌套的对象或数组,你需要递归地调用正则表达式和解析函数,直到所有层次都被处理。 7. **错误处理**:在处理过程中,要考虑到可能出现的错误,如无效的Json格式、正则...

    javascript,资源之js正则表达式

    JavaScript中的正则表达式是一种强大的文本处理工具,用于匹配、替换、分割字符串,以及执行其他复杂的文本操作。在JavaScript中,正则表达式是通过创建一个RegEx对象来实现的,它们遵循ECMAScript规范,这是一套...

    JavaScript正则表达式校验与递归函数实际应用实例解析.docx

    正则表达式是一种模式匹配工具,用于在字符串中搜索、替换或提取符合特定模式的文本。在JavaScript中,正则表达式常用于数据验证,确保用户输入的数据符合预期格式。例如: - `isDigit` 函数使用正则表达式 `/^[0-9...

    JS使用正则表达式获取小括号、中括号及花括号内容的方法示例

    在JavaScript编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换和提取字符串中的特定模式。在这个示例中,我们将深入探讨如何使用正则表达式来获取小括号 `()`、中括号 `[]` ...

    Js正则表达式匹配字符

    JavaScript中的正则表达式(Regular Expression)是一种模式匹配工具,用于在字符串中进行搜索、替换以及提取信息。它是编程语言中处理文本的强大武器,尤其在处理数据验证、文本解析和数据提取方面表现突出。本篇将...

    JavaScript 正则表达式 ajax

    本课程重点涵盖了JavaScript的几个关键知识点:正则表达式、AJAX(异步JavaScript和XML)以及相关的编程基础。 正则表达式是JavaScript中用于模式匹配和文本操作的强大工具。它允许程序员通过定义特定的模式来搜索...

    js大全+正则表达式

    正则表达式(Regular Expression)是JavaScript中进行文本模式匹配的强大工具,用于搜索、替换、验证文本字符串。其主要知识点包括: 1. **基础语法**:如`.`匹配任意字符,`^`表示行首,`$`表示行尾,`*`表示零次...

    javascript(含正则表达式参考) 5.5 参考文档

    在JavaScript中,正则表达式(Regular Expressions)是用于处理字符串的强大工具,它们用于模式匹配和文本搜索替换。 正则表达式在JavaScript中的使用非常普遍,你可以通过创建一个正则对象来使用它们,如`/pattern...

    使用正则表达式的格式化与高亮显示json字符串

    在这个上下文中,正则表达式被用来识别JSON字符串中的特定字符,如大括号`{}`、中括号`[]`、逗号`,`和冒号`:`,这些字符通常用于定义JSON对象和数组的结构。 格式化的步骤包括将输入的JSON字符串转换为规范的JSON...

    JavaScript使用正则表达式获取全部分组内容的方法示例

    在JavaScript中,正则表达式是一种强大的文本处理工具,它可以用来搜索、替换、验证以及提取文本中符合特定模式的信息。当涉及到正则表达式时,分组功能尤为重要,它允许我们将正则表达式中的一部分用括号括起来,...

    易语言正则取Json数据源码

    在易语言中,正则表达式通常是通过内置的字符串处理函数来实现的,例如“正则查找”和“正则替换”等。这些函数可以帮助我们匹配特定的文本模式,从而在Json字符串中找到我们需要的数据。 描述中的“@资源源码站”...

    正则表达式优化JSON字符串的技巧

    正则表达式是一种文本处理工具,用于搜索、替换、分析和修改文本数据,特别适用于处理大量文本数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    Pck / FA:C#中的正则表达式和有限状态引擎

    4. **Split**: 使用正则表达式分割字符串,并返回子字符串数组。 5. **IsMatch**: 简单判断输入字符串是否与正则表达式匹配。 **有限状态引擎** 有限状态引擎通过构建有限状态机来处理正则表达式。每个状态对应正则...

    regex-web-scraping:使用正则表达式进行网页抓取...忍者级别!

    正则表达式是一种模式匹配工具,用于在字符串中查找、替换或提取特定模式的文本。在网页抓取中,我们可以使用它来定位HTML文档中的特定元素,如URLs、标题、日期等。JavaScript的全局对象`RegExp`和字符串对象的方法...

Global site tag (gtag.js) - Google Analytics