js全部替换与保留指定字条的正则表达式应用_fsh430623的博客-程序员信息网

技术标签: 富客户端  

虽然经常用正则表达式,发现有很多地方其实不了解,比如这里要说的:

 

1.如何全部匹配替换, 注意后面有个 "g",这时就会全部匹配, /{e_([0-9]+)}/g  这么写也是正确的。

 

js本身没有全部替换这个函数,需要全部替换时,可以用上面形式的正则表达式全部替换

 

2.在匹配替换时保留被匹配字符串中的某些字符,用$加数字, 注意,下面的方法中,替换时 $1.gif,这里的$1,就会保留采用正则表达式的第一个()里匹配到的字符,$2则可以保留正则表达式的第二个()里匹配到的字条,当然需要在正则表达式里存在第二个小括号。

 

我这里用QQ表情聊天,就正好用到了这两个知识点,和大家分享。

 

function replaceimg(mycontent){
     var reg = new RegExp("{e_([0-9]+)}", "g");
     var str= mycontent.replace(reg, '<img src="'+myfacePath+'$1.gif" border="0" />');
     document.write(str);
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fsh430623/article/details/84688199

智能推荐

线性表---单链表(头结点与头指针)_爱橙子的OK绷的博客-程序员信息网

当链表的每个结点只包含一个指针域时,我们称此链表为单链表。关于单链表的存取,有时候我们在单链表的第一个结点(有效元素)之前附设一个结点,称之为头结点;指向头结点的指针,称之为头指针;对单链表的存取必须从头指针开始进行,由于单链表的最后一个数据元素没有直接后继,则指针为NULL。 对于头结点,数据域可以不存储任何信息,也可存储如链表长度等附加信息。下面是带头结点的单链表与空表的比较图。 头指针与头

Rasa聊天机器人(一):简介及环境搭建_Mr_不想起床的博客-程序员信息网

基本概念Rasa 是一个基于机器学习实现多轮对话的开源机器人框架,其中包含两个模块Rasa_core:github与Rasa_nlu:githubRasa-Nlu 是自然语言理解模型集合,主要包括意图识别,实体识别,它会把用户的输入转换为结构化的数据Rasa-Core 是一个对话管理的平台,它的工作是决定接下来机器该返回什么内容给用户,即实现与用户的交互逻辑开发语言:Python模型...

JAVA 赛码网|笔试时输入输出的控制_张小李的风的博客-程序员信息网

JAVA 笔试输入用例因为习惯了力扣的刷题模式,在刚刚接触互联网笔试的时候,被输入的控制搞得很头痛,尤其是说明有多个测试用例的时候,很容易只控制了单个测试用例,导致本来算法思路没问题,最后无法AC。两道例题,给自己做一个笔记。忽略题解,就输入控制可以参考。题目1import java.util.*;public class Main{public static void main(String[] args) { Scanner cin = new Scanner(System.in);

STM32单片机(八). ADC、DAC和DMA数据传输_流水过客的博客-程序员信息网_stm32 dac dma

对于STM32的ADC模数转换器的介绍以及配置在文章《STM32单片机(六). 传感器的使用》中已经详细介绍,在本章节中主要介绍DAC数模转换器以及DMA的使用。1、DAC转换1.1 数模转换器的介绍DAC(Digital to analog converter),数字模拟转换器,可以将数字信号转换为模拟信号。DAC可以输出电压模拟信号,用来去驱动其它器件。STM32F1中的DAC模块是由12位电压输出数模转换器,可以配置为8位或12位模式,也可以与DMA控制器配合使用。在12位模式下,数据可使用左对

EventBus原理深度解析(Guava)_嘿嘿帆的博客-程序员信息网_eventbus

一、问题描述在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于EventBus使用起来简单、便捷,因此,工作中会经常用到。深入理解该框架的原理就很有必要。二、框架解析2.1、组织结构eventbus的组织结构如下:eventbus主要有以下几部分组成:1、eventbus、asyncEventBus:事件发送器。2、event:事件承载单元。3、.

随便推点

Python基础(1)_初识Python_diaoding3046的博客-程序员信息网

一、为什么要编程  解放人力:让机器按照人们事先为其编写好的程序自发地去工作二、什么是编程语言编程语言就是程序员与计算机之间沟通的介质;程序员把自己想说的话用编程语言写到文件里,这其实就开发了一个程序,接下来让计算机按照文件里说的内容去做事情,这就是程序的执行。三、编程语言的分类机器语言----&gt;汇编语言----&gt;高级语言1.学习的复杂度是从难到...

QML实现媒体播放器_papership的博客-程序员信息网_qml 音频播放暂停

linux系统平台,使用QML结合mplayer实现媒体播放功能一、实现功能:音/视频播放和暂停,快进/快退,上一曲/下一曲,单曲循环,顺序播放,随机播放。二、原理:利用QML描画播放器的UI界面,使用mplayer技术实现音/视频播放。三、实现方法/步骤:1、在QML文件中描画各种按钮的位置及图片的显示区域。2、用linux的“find”命令建立播放列表,生成名为“a...

删数问题_dianshi9974的博客-程序员信息网

题目链接Problem Description键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。Input输入有多组 每组包括原始数n,要去掉的数字数s;Output输出去掉s个数后最小的数Sample Input178543 4Sample ...

Test 1D Degenerate Elliptical equation without Hamilton-Jacobi Part_dgeehn2164的博客-程序员信息网

Test 1D Degenerate Elliptical equation without Hamilton-Jacobi Parti根据上一篇的经验:\(\frac{u_x^2}{1+u_x^2}\) 对初值的选取是很敏感的,建议取消这一项,改成已知部分。以下测试\[\begin{align}u_t &amp;=\frac{u_x}{\sqrt{1+u_x^2}}+S(...

org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.a_-CheungRenWu的博客-程序员信息网

笔者在试用RabbitMQ测试TTL时报的这么个错org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.amqp.rabbit.config.internalRabbitListenerEndpointRegistry'; nested exceptio...

Gradle中使用Mybatis Generator生成bo和mapper_java干货的博客-程序员信息网

前言Mybatis Generator是一个mybatis工具项目,用于生成mybatis的model,mapper,dao持久层代码。Mybatis Generator提供了maven...

推荐文章

热门文章

相关标签