JavaScript中正则的使用(1)
通过例子学习正则中的常见语法(1)
$num
javascript var a = 'javascript'; var b = a.replace(/(java)(script)/gi, '$2-$1'); console.log(b);//script-java- 正则以
/开始和结尾,中间为要匹配的表达式 g表示全局搜索,i表示忽略大小写,m表示多行匹配$1、$2表示第1个和第2个子表达式(用小括号包裹)匹配到的文本,如例子所见,$1为java,$2为script

- 正则以
$&
javascript var a = 'javascript'; var b = a.replace(/a/gi, '$&-$&'); console.log(b);//ja-ava-ascript$&表示匹配到的文本,即$&匹配到a- 将
javascript中的a替换为a-a,所以最终结果为ja-ava-ascript

$`
javascript var a = 'javascript'; var b = a.replace(/(script)/gi, '$&-$`'); console.log(b);//javascript-java$`表示匹配到的文本的左侧文本,即$`匹配到java- 将
script替换为script-java,所以最终结果为javascript-java

$'
javascript var a = 'javascript'; var b = a.replace(/(java)/gi, '$&-$\''); console.log(b);//java-scriptscript$'表示匹配到的文本的右侧文本,即$'匹配到script- 将
java替换为java-scripr,所以结果为java-scriptscript - 注意:
$&-$\',如果用'包裹结果,需要\转义,如果用"包裹结果,则不需要转义

$$
javascript var a = 'javascript'; var b = a.replace(/a/gi, '$$'); console.log(b);//j$v$script$$表示对$进行转义输出- 将
a替换为$

replace
```javascript
var a = 'this is a javascript text';
var b = a.replace(/\b(\w)(\w*)\b/g, fn);
console.log(b);//This Is A Javascript Textfunction fn($1, $2, $3) {
return $2.toUpperCase() + $3;
}
``*replace接受两个参数,第一个为正则表达式,第二个可以为文本,也可以为函数 *\b表示单词的分界线 *\w表示字母、数字、下划线或者汉字 *fn中共接收了三个参数 *$1表示整个正则表达式匹配到的文本,依次为this,is,a,javascript,text*$2表示第一个子表达式(\w)匹配到的文本,分别为t,i,a,j,t*$3表示第二个子表达式(\w*)匹配到的文本,分别为his,s,(空的内容),avascript,ext*$2.toUpperCase()将$2匹配到的文本转换为大写 * 结果This Is A Javascript Text`

replace后fn详细内容
javascript var a = 'this is a javascript text'; var b = a.replace(/\b(\w)(\w*)\b/g, fn); console.log(b); //this-t-his-0-this is a javascript text& is-i-s-5-this is a javascript text& a-a--8-this is a javascript text& javascript-j-avascript-10-this is a javascript text& text-t-ext-21-this is a javascript text& function fn($1, $2, $3, $4, $5) { return $1 + '-' + $2 + '-' + $3 + '-' + $4 + '-' + $5 + '&'; }- 在例子6中介绍了
$1,$2,$3,其实$2至$3可以有多个,数量随正则中的子表达式变化,因为/\b(\w)(\w*)\b/中只有两个子表达式,所以只有$2和$3 fn最后两个参数(不一定是$4和$5),分别表示正则匹配到的文本($1)开始位置(如匹配到javascript,$4就是javascript在整段文本中的开始位置10)和整个要匹配的文本(this is a javascript text)- 根据以上分析,结果如下

- 在例子6中介绍了
JavaScript中正则的使用(1)的更多相关文章
- JavaScript中正则使用
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...
- JavaScript 中正则匹配时结果不一致的问题
创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...
- JavaScript 中 正则替换 replace
本文初步介绍 replace 在 js 中,我们常常会遇到 用来 解决开发中常会遇到的 问题的 知识总结, 如果你已经 非常熟悉,又可以绕道了. 定义和用法 replace() 方法用于在字符串中常用 ...
- javascript中正则动态替换为对象中的相应数据
使用正则进行替换以下内容 var str = 'aKey={aValue}&bKey={bValue}' 使用以下对象数据,替换value var obj = { aValue: 1, bVa ...
- javascript中正则实现读取当前url中指定参数值方法。
getQueryString:function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...
- Javascript中正则的 match、test、exec使用方法和区别
总结: match 是str调用 test和exec是正则表达式调用 test只返回true或false, exec和match的结果是相同的,返回结果比较复杂
- JS中正则匹配的三个方法match exec test的用法
javascript中正则匹配有3个方法,match,exec,test: match是字符串的一个方法,接收一个RegExp对象做为参数: match() 方法可在字符串内检索指定的值,或找到一个或 ...
- JavaScript与PHP中正则
一.JavaScript 有个在线调试正则的工具,点击查看工具.下面的所有示例代码,都可以在codepen上查看到. 1.创建正则表达式 var re = /ab+c/; //方式一 正则表达式字面量 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
随机推荐
- HTTP协议(3):HTTP1.1与HTTP1.0的区别
翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别. 1. Persistent Connection持久连接 在HTTP1.0中,每对Request/Respon ...
- JAVA-JSP动作
动作元素基本上是预定义的功能.下表列出了可用的JSP动作 - 编号 动作 描述 1 jsp:include 在请求页面时包含一个文件. 2 jsp:useBean 查找或实例化一个JavaBean. ...
- [整理]C语言中字符常量与ASCII码
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...
- Collections -- 集合的工具类
Collections是JDK针对集合提供的一个工具类,他提供一系列静态方法实现对各种集合的搜索.排序.线程安全化等操作. 1.搜索 如可以使用Collections提供的二分查找方法binarySe ...
- dump函数
一.函数标准格式: DUMP(expr[,return_fmt[,start_position][,length]]) 基本参数时4个,最少可以填的参数是0个.当完全没有参数时,直接返回null.另外 ...
- JavaScript 金额、数字、千分位、千分位、保留几位小数、舍入舍去、支持负数
JavaScript 金额.数字 千分位格式化.保留指定位数小数.支持四舍五入.进一法.去尾法 字段说明: number:需要处理的数字: decimals:保留几位小数,默认两位,可不传: dec_ ...
- linux sigaction 函数 用法释义
使用 sigaction 函数: signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受 到了一定的限制.而 POSIX 标准定义的信号处 ...
- [转]在C#程序设计中使用Win32类库
http://blog.163.com/j_yd168/blog/static/496797282008611326218/ C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 ...
- JSONArray().fromObject(); 出现org.apache.catalina.core.StandardWrapperValve invoke错误的解决办法
servlet: public void service(HttpServletRequest request, HttpServletResponse response) throws Servle ...
- JavaScript新手学习笔记(一)
1.JavaScript 对大小写敏感. JavaScript 对大小写是敏感的. 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getElementById 与 getE ...