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 ...
随机推荐
- css:鼠标点击出现有颜色的边框?如何解决
今天遇到上图这样出现有颜色的边框 解决办法: css设置属性 outline:none;
- 【转载】Mysql注入点在limit关键字后面的利用方法
描写sql注入利用方法的文章数不胜数,本文将描述一种比较特殊的场景. 细节 在一次测试中,我碰到了一个sql注入的问题,在网上没有搜到解决办法,当时的注入点是在limit关键字后面,数据库是MyS ...
- web编程jsp小tips
jsp文件头 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- Java第二阶段之常用类
包装类缓存-128到127之间的数字(系统初始的时候就创建了,当我们调用ValueOf时,首先检查是否在范围内,在则直接取用)integer in1 = integer.valueOf(-128):i ...
- vue开发可复用组件
组件,是一个具有一定功能,且不同组件间功能相对独立的模块.高内聚.低耦合. 开发可复用性的组件应遵循以下原则: 1.规范化命名:组件的命名应该跟业务无关,而是依据组件的功能命名. 2.数据扁平 ...
- Android 播放器开发
GSY https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/USE.md 阿里云播放器 https://helpcdn.aliyun.co ...
- HashMap的几种遍历方式(转载)
今天讲解的主要是使用多种方式来实现遍历HashMap取出Key和value,首先在java中如果想让一个集合能够用for增强来实现迭代,那么此接口或类必须实现Iterable接口,那么Iterable ...
- iOS项目自动打包
用的是:https://www.jianshu.com/p/a61fe38c8c29 需要上传到pgy /TestFlight 在脚本中加几句就可以了 另外一种方式,fastlane打包 首要条件: ...
- [CSP-S模拟测试]:柱状图(树状数组+二分+三分)
题目描述 $WTH$获得了一个柱状图,这个柱状图一共有$N$个柱子,最开始第$i$根柱子的高度为$x_i$,他现在要将这个柱状图排成一个屋顶的形状,屋顶的定义如下:$1.$屋顶存在一个最高的柱子,假设 ...
- pytest相关问题解析
1. 如果你想查询在你的环境下有哪些pytest的active plugin可以使用: py.test --traceconfig 会得到一个扩展的头文件名显示激活的插件和他们的名字.同时也会打印出当 ...