正则替换replace中$1的用法
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
|
1
2
3
4
5
|
stringObject.replace(regexp/substr,replacement);参数一:必需,规定的字符串或者正则表达式参数二:必需,一个字符串值。规定了替换文本或生成替换文本的函数。!!!replacement 中的 $ 字符具有特定的含义。详情见W3C |
二、有$1,$2...的例子
|
1
2
3
4
5
|
//把 "Doe, John" 转换为 "John Doe" 的形式:var str = "Doe, John";str.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");说明:$1,$2上就是按顺序对应小括号里面的小正则 捕获到的内容。 |
三,第二个参数是函数
|
1
2
3
4
5
6
7
8
9
10
11
12
|
把字符串中所有单词的首字母都转换为大写:var str = 'aaa bbb ccc';uw=str.replace(/\b\w+\b/g, function(word){ return word.substring(0,1).toUpperCase()+word.substring(1);} );说明:匹配一次就执行一次函数,匹配的内容作为参数//把数字转成对应的汉子var ary=["一","二","三","四","五","六"]"123456".replace(/\d/g,function(val){ return ary[val-1]}) |
四、一个栗子,实现模板字符替换
|
1
2
3
4
5
6
|
var obj = { name:'leaf', age:20}var str = "我是{{name}},name是我的名字,我今年{{age}}岁";//最终替换成"我是leaf,name是我的名字,我今年20岁" |
实现:
|
1
2
3
|
function render(template, context) { return template.replace(/\{\{(.*?)\}\}/g, (match, key) => context[key.trim()]);} |
说明:
1、.*? 非贪婪匹配模式
2、每个匹配的这则组合执行一次函数
五、其他常用正则替换
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
//去除空格String.prototype.Trim = function() {return this.replace(/\s+/g, "");} //去除换行function ClearBr(key) {key = key.replace(/<\/?.+?>/g,"");key = key.replace(/[\r\n]/g, "");return key;} //去除左侧空格function LTrim(str) {return str.replace(/^\s*/g,"");} //去右空格function RTrim(str) {return str.replace(/\s*$/g,"");} //去掉字符串两端的空格function trim(str) {return str.replace(/(^\s*)|(\s*$)/g, "");} //去除字符串中间空格function CTim(str) {return str.replace(/\s/g,'');} //是否为由数字组成的字符串function is_digitals(str) {var reg=/^[0-9]*$/; //匹配整数return reg.test(str);} |
//单词首字母大写
function uppperCase(str) {
return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());
}
正则替换replace中$1的用法的更多相关文章
- 正则替换replace中$1的用法以及常用正则
一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement)参数一 ...
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...
- JavaScript 中 正则替换 replace
本文初步介绍 replace 在 js 中,我们常常会遇到 用来 解决开发中常会遇到的 问题的 知识总结, 如果你已经 非常熟悉,又可以绕道了. 定义和用法 replace() 方法用于在字符串中常用 ...
- 字符串正则替换replace第二个参数是函数的问题
按照JS高程的说法,如下 replace()方法的第二个参数也可以是一个函数.在只有一个匹配项(即与模式匹配的字符串)的情况下,会向这个函数传递3个参数:模式的匹配项.模式匹配项在字符串中的位置和原始 ...
- 字符串正则替换replace第二个参数是函数
zepto中 //将字符串转成驼峰式的格式 camelize = function (str) { return str.replace(/-+(.)?/g, function (match, chr ...
- php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串.
有一个长期的误解, 如果要分组, 必须用 小括号 和 |, 而不能用 中括号 和 |. [ab|AB]表示的不是 匹配 ab或 AB, 而是表示 匹配 a,b, |, A, B 这5个字符中 的任意 ...
- JS利用正则配合replace替换指定字符
替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一 ...
- PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...
- js正则标志/g /i /m的用法,以及实例
js正则标志/g /i /m的用法,以及实例 正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了. 一,js正则标志/g,/i,/m说明 1,/ ...
随机推荐
- koa 基础(五)动态路由的传值
1.动态路由的传值 app.js /** * 动态路由的传值 */ // 引入模块 const Koa = require('koa'); const router = require('koa-ro ...
- LC 763. Partition Labels
A string S of lowercase letters is given. We want to partition this string into as many parts as pos ...
- 利用Viewpager和Fragment实现UI框架的搭建实现
package com.loaderman.uiframedemo; import android.os.Bundle; import android.support.v4.app.Fragment; ...
- tableau extension 调研
概述 最近调研了一下 tableau extensions 的实现,有一些心得,记录下来,供以后开发时参考,相信对其他人也有用. 总的来说,写 tableau extensions 还是挺简单的,只是 ...
- Servlet 表单数据 接收get post 参数实例
Servlet 表单数据 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. GE ...
- 2019.05.30 S4 BUPT BP 客户增强说明
- 看了一圈,发现网上BUPT增强的很少,有的也是做一个字段的页签的增强,我自己花时间研究了一下,在BP增加新的interface 界面按钮. BP页签增强部分就不写了,大家看链接吧 加上如何做出新的 ...
- flannel下k8s pod及容器无法跨主机互通问题
参照文档 https://blog.csdn.net/a610786189/article/details/80340556 https://blog.csdn.net/weixin_43092 ...
- Python:Base1(数据类型,print语句,变量,定义字符串,raw字符串与多行字符串,Unicode字符串,整数和浮点数运算,布尔类型运算)
1.Python中数据类型: 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据 ...
- C++ vector的详细用法
vector容器类型 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象).vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的.vector的构造 函 ...
- 爱伪装(AWZ)/爱立思(ALS)改机改串一键新机原理分析
简介 爱伪装(AWZ)/爱立思(ALS)是一款iOS越狱系统上的改机工具,可以修改多种系统参数达到伪装设备型号及各种软硬件属性的目的,同时提供了防越狱检测机制,常用于iOS上的推广刷量,配合代理/VP ...