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 ...
随机推荐
- python列表转json树菜单
1.列表数据 data = [ { 'id': 1, 'parent_id': 2, 'name': "Node1" }, { 'id': 2, 'parent_id': 5, ' ...
- CSS3选择器 :read-only选择器 CSS3选择器 :read-write选择器
CSS3选择器 :read-only选择器 “:read-only”伪类选择器用来指定处于只读状态元素的样式.简单点理解就是,元素中设置了“readonly=’readonly’” 示例演示 通过“: ...
- 微服务+DDD代码结构例子
这是一个基本的微服务+DDD演示例子: 基于 Spring Boot 1.5.6 , Spring Cloud Edgware.SR4 Version 微服务 + DDD,个人觉得应该是首先是从微服务 ...
- 三、MyBatis-全局配置文件
XML 映射配置文件(官方结构) MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息.文档的顶层结构如下: configura ...
- 如何修改Pspice元件库中元件的模型参数?
比如下面是我取出的一个稳压管参数....* created using Parts release 7.1p on 11/03/98 * per Microsemi estimate: Trr(est ...
- python学习笔记(十六)python操作redis数据库
Redis是一个key-value存储系统,它支持丰富的数据类型,如:string.list.set.zset(sorted set).hash. Redis特点 Redis以内存作为数据存储介质,所 ...
- 本页面用来演示如何通过JS SDK,创建完整的QQ登录流程,并调用openapi接口
QQ登录将用户信息存储在cookie中,命名为__qc__k ,请不要占用 __qc__k : 1) :: 在页面顶部引入JS SDK库: 将“js?”后面的appid参数(示例代码中的:100229 ...
- ctrl+鼠标左键监听
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 51nod1600 Simple KMP
题目描述 对于一个字符串|S|,我们定义fail[i],表示最大的x使得S[1..x]=S[i-x+1..i],满足(x<i) 显然对于一个字符串,如果我们将每个0<=i<=|S|看 ...
- Spring Security 3.1 中功能强大的加密工具 PasswordEncoder
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder 博客分类: security spring springsecurity 好吧,这种加密机制很复杂,还是 ...