<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>009字符串中使用正则表达式</title>
<!--
正则表达式中:g 表示的是全局模式
正则表达式中:i 表示的是忽略大小写
exec()方法 : 指在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null -->
<script>
/* 1、把一段字符串里面的数字提取出来
var str = "中国移动:10086,中国联通:10010,中国电信:100000";
// 把里面所有的数字全部显示出来
var array = str.match(/\d{5}/g);
console.log(array);*/ // 2、提取字符串中的邮箱
// var str1 = "123@xx.com,fangfang@valuedopinions.cn 285535644@qq.com2、 emailenglish.emailenglish.com 285535644@qq.com...";
// // \w 匹配单个的非特殊符号(_)等价于[0-9a-zA-Z_]
// // +表示前面表达式出现1次或多次
// var array1 = str1.match(/\w+@\w+\.\w+(\.\w+)?/g);
// console.log(array1); // 3、提取组正则表达式对象.$3
// 提取日
// var str2 = "2017-11-12";
// var array2 = str2.match(/(\d{4}[-])(\d{2}[-])(\d{2})/g);
// // console.log(array2);
// // 正则表达式对象.$3 那正则表达式中的第3组
// console.log(RegExp.$3); // 4、匹配邮箱字符串中的各个部分
// var email = "liusuyu@itcast.com.cn";
// email.match(/([0-9a-zA-Z_.-]+)[@]([0-9a-zA-Z_-]+)(([.][a-zA-Z]+){1,2})/);
// //[] 匹配其中的任意字符
// // + 1~多
// console.log(RegExp.$1);// 用户名
// console.log(RegExp.$2);// itcast
// console.log(RegExp.$3);// .com.cn // 5、使用replace()在全局替换字符串
// var str = "小苏好帅,真的是太帅了,帅,就是很帅!";
// str1 = str.replace(/帅/,"好玩");
// //对字符串进行全局匹配
// str2 = str.replace(/帅/g,"好玩");
// // replace(/参1/,"参2") 参1:正则表达式中的字符 参2:参1要替换的字符
// console.log(str1);//小苏好好玩,真的是太帅了,帅,就是很帅!
// console.log(str2);//小苏好好玩,真的是太好玩了,好玩,就是很好玩! //6、在字符串全局去掉所有空格
// var str =" lalalala ,xixixixi "; // str1 = str.trim();//去掉字符串前后空格
// console.log("----"+str1+"----"); //----lalalla ,xixixix---- // str2 = str.replace(/\s+/,"");
// console.log("----"+str2+"----");//----lalalala ,xixixixi ---- // str3 = str.replace(/\s+/g,"");
// console.log("----"+str3+"----");//----lalalala,xixixixi----
//7、将所有的Hh替换成S
// var str = "HhpphH";
// // 方法1:[] 匹配其中的任意字符
// str1 = str.replace(/[hH]/g,"S");
// console.log(str1);// SSppSS
// // 方法2:i 忽略大小写
// str2 = str.replace(/[h]/gi,"S");
// console.log(str2);// SSppSS // //*使用正则表达式对象的方式
// var reg = new RegExp(/[h]/gi);
// var str3 = str.replace(reg,"S");
// console.log(str3);// SSppSS
//
var str = "中国移动:10086,中国联通:10010,中国电信:100000";
//正则表达式对象.exec方法传入
var reg = /\d{5}/g;
var array = reg.exec(str);// 通过正则表达式匹配当前字符串 // console.log(array);
// ["10086", index: 5, input: "中国移动:10086,中国联通:10010,中国电信:100000", groups: undefined]
// console.log(reg.exec(str));
// ["10010"...]
// console.log(reg.exec(str));
// ["10000"...]
// console.log(reg.exec(str)); // null(多写一个会出现null))
// console.log(reg.exec(str)); // ["10086"...]
// ... while(array!=null){
// 输出匹配内容
console.log(array[0]);
// console.log(array);
array = reg.exec(str);
}
/*
console.log(array[0])输出结果
10086
10010
10000 console.log(array)输出结果
Array(1)
0: "10086"
groups: undefined
index: 5
input: "中国移动:10086,中国联通:10010,中国电信:100000"
length: 1__proto__:Array(0)
Array(1)
0: "10010"
groups: undefined
index: 16
input: "中国移动:10086,中国联通:10010,中国电信:100000"
length: 1
__proto__: Array(0)
Array(1)
0: "10000"
groups: undefined
index: 27
input: "中国移动:10086,中国联通:10010,中国电信:100000"
length: 1
__proto__: Array(0)
*/
</script>
</head>
<body> </body>
</html>

JavaScript —— 字符串中使用正则表达式的更多相关文章

  1. javascript字符串中包含特殊字符问题

    我们都知道,在javascript中,字符串写在单引号或者双引号之中.因为这种要求,我们有些时候一些需要的字符串不能够被javascript解析,如下: "We are "Huma ...

  2. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...

  3. JavaScript 正则表达式RegExp 和字符串本身的正则表达式

    JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...

  4. C++、Java、JavaScript中的正则表达式

    C++(VS2013编译器):http://msdn.microsoft.com/zh-cn/library/bb982727.aspx#grammarsummary Java:            ...

  5. JavaScript中的正则表达式详解

    摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法. 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本 ...

  6. js 判断字符串中是否包含某个字符串的方法实例

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

  7. js 判断字符串中是否包含某个字符串

    String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") ...

  8. 在python中使用正则表达式(一)

    在python中通过内置的re库来使用正则表达式,它提供了所有正则表达式的功能. 一.写在前面:关于转义的问题 正则表达式中用“\”表示转义,而python中也用“\”表示转义,当遇到特殊字符需要转义 ...

  9. 008-js中的正则表达式

    查看地址:http://www.runoob.com/js/js-regexp.html 一.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.reg ...

随机推荐

  1. Angular 一个简单的指令实现 阻止事件扩散

    //指令定义 @Directive({ selector: `click-stop-propagation` events: 'stopClick($event)' }) class ClickSto ...

  2. bzoj2306 [Ctsc2011]幸福路径 倍增 Floyd

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2306 题解 倍增 Floyd. 令 \(f[i][j][k]\) 表示走了 \(2^i\) 步 ...

  3. 股票交易 (单调队列优化DP)

    股票交易 $ solution: $ 这道题以前就写了,题目很好,但自己没有发题解,来补一篇: 首先,题目出得很有迷惑性,但我们不难想到状态要设天数,和自己手上的股票数目(因为这两个就是充要信息).而 ...

  4. TreeMap定制排序和自然排序

    TreeMap定制排序和自然排序自然排序是实现Comparable接口的方法.代码如下: @Override public int compareTo(Object o) { if (o instan ...

  5. python学习笔记(十七)flask模块写接口

    import flask,json from tools import op_mysql #op_mysql() # 接口,后台服务 server = flask.Flask(__name__) #把 ...

  6. python学习笔记(十四)加密模块

    import hashlib ybq_pwd='bugaosuni' m=hashlib.md5() bytes_ybq=ybq_pwd.encode()#把字符串转成bytes类型,中文字符在Pyt ...

  7. linux运维、架构之路-Nginx服务

    一.Nginx服务 1.介绍         Nginx软件常见的使用方式或架构为:LNMP(linux nginx mysql php),Nginx三大主要功能,web网站服务,反向代理负载均衡(n ...

  8. 向量积&&凸包算法

    参考:Thanks 百度百科 http://blog.csdn.net/keng_s/article/details/52131034 https://www.cnblogs.com/aiguona/ ...

  9. FastDFS整合nginx模块报错

    之前在本地虚拟机用的都是5.1的版本和1.12的nginx,在服务器上尝试一下高版本的6.1 一直报错各种,例如: undeclared (first use in this function) 尝试 ...

  10. Nginx的启动、停止与重启---linux

    一.选定安装文件目录 可以选择任何目录 cd /usr/local/src 二.安装PCRE库 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcr ...