JavaScript —— 字符串中使用正则表达式
<!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 —— 字符串中使用正则表达式的更多相关文章
- javascript字符串中包含特殊字符问题
我们都知道,在javascript中,字符串写在单引号或者双引号之中.因为这种要求,我们有些时候一些需要的字符串不能够被javascript解析,如下: "We are "Huma ...
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 查找以八进制数 规定的字符. 查找以十六进制数 规定 ...
- JavaScript 正则表达式RegExp 和字符串本身的正则表达式
JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...
- C++、Java、JavaScript中的正则表达式
C++(VS2013编译器):http://msdn.microsoft.com/zh-cn/library/bb982727.aspx#grammarsummary Java: ...
- JavaScript中的正则表达式详解
摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法. 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本 ...
- js 判断字符串中是否包含某个字符串的方法实例
String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") ...
- js 判断字符串中是否包含某个字符串
String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") ...
- 在python中使用正则表达式(一)
在python中通过内置的re库来使用正则表达式,它提供了所有正则表达式的功能. 一.写在前面:关于转义的问题 正则表达式中用“\”表示转义,而python中也用“\”表示转义,当遇到特殊字符需要转义 ...
- 008-js中的正则表达式
查看地址:http://www.runoob.com/js/js-regexp.html 一.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.reg ...
随机推荐
- mac os安裝jdk
下載安裝 打开mac笔记本,输入账号密码登陆后,点击桌面上的terminal终端图标.打开终端,然后在终端中输入命令java. 从下面的图中可以看到,终端会自动给出提示,没有可以使用的java命令 ...
- 吐血整理 | 1000行MySQL学习笔记,不怕你不会,就怕你不学!
/ Windows服务 / / 连接与断开服务器 / / 数据库操作 / ------------------ / 表的操作 / ------------------ / 数据操作 / ------- ...
- nginx之访问静态文件
如何配置nginx,访问服务器上的静态文件? 1.在目录/data/interface_test下创建静态文件queryAppData.json,内容如下: 如何访问该文件呢? 2.修改/usr/lo ...
- java中 运算符
我们先讨论 &,&&,| ,|| 这四个运算符 boolean a=true; boolean b=true; boolean c=false; //输出:a为true,b ...
- Python3解leetcode Kth Largest Element in a Stream
问题描述: Design a class to find the kth largest element in a stream. Note that it is the kth largest el ...
- 一种算法的实现,几个相同大小的div组合在一起,判断是不是矩形
- 笨办法学Python(learn python the hard way)--练习程序21-30
下面是练习21-30,基于python3 #ex21.py 1 def add(a, b): print("ADDING %d + %d" %(a, b)) return a+b ...
- 设置Select下拉多选框功能,赋值与绑定问题
项目需要所以更改select为多选下拉的菜单选项. 我用的是后台直接绑定 在前台aspx页面直接写一个 <div id="dropsxs" runat="serve ...
- HDU4336 Card Collector (概率dp+状压dp)
http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:有n种卡片,一个包里会包含至多一张卡片,第i种卡片在某个包中出现的次数为pi,问将所有种类的卡片集齐 ...
- linux ( CentOS 7)下Tengine(nginx)的安装与配置
TengineTengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.它的目的是打造一个高效.安全的Web平台. 使用root用户安装 ...