<!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. [POI2006]ORK-Ploughing(贪心,枚举)

    [POI2006]ORK-Ploughing 题目描述 Byteasar, the farmer, wants to plough his rectangular field. He can begi ...

  2. JAVA四种引用方式

    JAVA四种引用方式: java.lang.ref: 强引用(直接变量赋值) 软引用(SoftReference): 只有在要发生OOM错误之前才会回收掉老的软引用对象,应用场景主要防止内存溢出.(缓 ...

  3. TPS、QPS和系统吞吐量的区别和理解

    参考:https://blog.csdn.net/u010889616/article/details/83245695 一.QPS/TPSQPS:Queries Per Second意思是“每秒查询 ...

  4. python 全栈开发,Day45(html介绍和head标签,body标签中相关标签)

    一.html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来指定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构 ...

  5. BZOJ 1112: [POI2008]砖块Klo Splay + 性质分析

    Code: #include<bits/stdc++.h> using namespace std; #define setIO(s) freopen(s".in",& ...

  6. codeforces 848B - Rooter's Song(构造+几何)

    原题链接:http://codeforces.com/problemset/problem/848/B 题意:好多个人分别从x,y轴不同位置不同时间往垂直坐标轴方向移动,一旦相遇他们转向,问所有人的到 ...

  7. 一道装呀(状压)DP

    generator 题目描述: 自己的数学太差了,居然没看出来和这两个是相同的: 啊啊啊: 所以装呀一下就好了: #include<iostream> #include<cstdio ...

  8. Cluster基础(二):ipvsadm命令用法、部署LVS-NAT集群、部署LVS-DR集群

    一.ipvsadm命令用法 目标: 准备一台Linux服务器,安装ipvsadm软件包,练习使用ipvsadm命令,实现如下功能: 使用命令添加基于TCP一些的集群服务 在集群中添加若干台后端真实服务 ...

  9. flask之二

    flask之二 预热 在渲染模板的时候,默认会从项目根路径下的templates目录下查找模板 如果想要指定模板路径的时候,就在初始化APP的时候,这样操作即可: app = Flask(__name ...

  10. sql常用 语句总结

    一,插入一个新字段:ALTER TABLE +表名+ADD  COLUMN(字段名+ 类型) sql1 = 'ALTER TABLE klkl_4s_shop ADD COLUMN (name_rea ...