正则表达式(RegExp)
前言:先来了解一下基础知识。再细说正则表达式~
转义字符 ---- \
转义字符会将与之相邻的字符转换含义。
例如说,希望在一个字符串中输出 “ 号,那么就可以使用在双引号前加入 \ ,这样就能将双引号输出。
通常情况下,我们会用到这样几个转义字符
\n 字符串换行符, \r 代表文本行结束, 回车用转义字符表示就是 \r\t ,\t 代表制表符,是 tabel 缩写。
正则表达式-------创建
首先说作用: 是匹配特殊字符或有特殊搭配原则的字符的最佳选择。
接着来看下如何使用正则表达式,它有几种创建方式,我们一一来看下。
1. 直接量的方式创建
var reg = /abc/; // 这里规定了表达式的格式, /abc/i 表示可以忽略大小写
var str = 'abc';
reg.test(str); // true
2. 构造函数的方式创建
var reg = new RegExp("abc","m"); //第一个参数写规则,第二个是可选项,传入可以是任一属性 i m g,也可以自由组合
var str = "abcd"; // true
3. 构造函数方式创建的另一种表达(加 new 、不加 new)
var reg = /abc/i;
var reg1 = new RegExp(reg); //此时是利用原有的模式创建了一个新的正则表达式,虽然相同但完全独立。 var reg = /abc/i;
var reg1 = RegExp(reg); // 如果不加 new,则返回的只是这个原有泽政表达式的一个引用,并不会创建新的正则表达式。
正则表达式-------修饰符(i、g、m)
var reg = /abc/i; // 忽略大小写
var str = "ABC" // true var reg = /abc/g; // 进行全局匹配
var str2 = "abcabcabcabc" // ['abc','abc','abc','abc'] 不加 g 时,数组中只会出现一个字符串 var reg = /abc/m; // 进行多行匹配
// 下面是一些伪代码
if var reg = /^a/g; // 表示匹配以a开头的所有字符
var str = "abc/na"; // ['a'] 虽然换行了,但是修饰符 g 并不认为这是另起一行了,依然不会识别。 if var reg = /^a/gm; // 表示匹配以a开头的所有字符
var str = "abc/na"; // ['a','a'] 这时就会认识这是一个换行符了,就能进行匹配
正则表达式-------表达式
表达式中的标准可以是多个表达式,这是规定了每一位上的匹配区间
[abc] : 查找方括号之间的任意字符
[^abc] : 查找不在方括号之间的任意字符
[0-9] : 查找0-9之间的任意数字
一种偷懒的写法: [0-9a-Z] : 这里包括了0-9a-Z的所有区间
关于 ^ ,在表达式中表示非,在表达式外表示从哪里开始。
(abc | bcd) : 这里也是表示匹配区间,但必须是abc 或者 bcd
正则表达式-------元字符
. : 匹配除了换行符以外的所有字符
\w :匹配所有的单词字符以及下划线
\W : 与\w正好取反
\s = (\v \r \f \n \t 空格): 匹配空白字符
\v \r \f \n \t : 这里需要注意,使用这些匹配元字符的时候,必须是字符串中真实存在的,不能视觉上存在的。
等等......
表达式中也可以写元字符拼接
正则表达式-------量词
n+ : 表示n可以匹配一次到多次
n* : 表示n可以匹配0次到多次
n? : 表示n可以匹配0次或一次
正则表达式(RegExp)的更多相关文章
- javascript类型系统——正则表达式RegExp类型
× 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String ...
- JavaScript学习笔记-正则表达式(RegExp对象)
正则表达式(RegExp对象) 1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...
- 正则表达式(RegExp)
正则表达式(RegExp) 如何按一定规则快速查找到需要找寻的内容,js的设计者们给我们提供了一个叫正则表达式(RegExp对象),专门用于处理类似问题. RegExp对象表示正则表达式,它是对字符串 ...
- JavaScript数据类型 正则表达式RegExp类型
前言 上一篇文章已经介绍了正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将 ...
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 查找以八进制数 规定的字符. 查找以十六进制数 规定 ...
- JavaScript 正则表达式RegExp 和字符串本身的正则表达式
JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...
- ES9的新特性:正则表达式RegExp
简介 正则表达式是我们做数据匹配的时候常用的一种工具,虽然正则表达式的语法并不复杂,但是如果多种语法组合起来会给人一种无从下手的感觉. 于是正则表达式成了程序员的噩梦.今天我们来看一下如何在ES9中玩 ...
- VBScript: 正则表达式(RegExp对象)
RegExp对象是VBScript中用于提供简单地正则表达式支持的对象.VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联. 一.RegExp对象的属性和方法(三个属性,三个方法) ...
- javascript正则表达式 —— RegExp 对象
定义 RegExp RegExp 对象用于存储检索模式. 通过 new 关键词来定义 RegExp 对象.以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e": ...
- 从javaScript中学习正则表达式——RegExp
正则表达式工具:http://regexper.com 由于国外网络可以选择 https://github.com/javallone/regexper-static 离线安装作为本地服务. 正则 ...
随机推荐
- JavaScript数据结构——队列的实现与应用
队列与栈不同,它遵从先进先出(FIFO——First In First Out)原则,新添加的元素排在队列的尾部,元素只能从队列头部移除. 我们在前一篇文章中描述了如何用JavaScript来实现栈这 ...
- Javascript中将数字转换为中文的方法
//js实现将数字1234转化为汉字字符串(一千二百三十四)(或大写汉字壹仟贰佰叁拾肆): /*阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十.百.千.万.亿. 以“万 ...
- PHP危险函数总结学习
1.PHP中代码执行的危险函数 call_user_func() 第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数. 传入call_user_func()的参数不能为引用传递 ...
- Redis 学习笔记(篇九):主从复制
Redis 中,可以通过执行 savleof 命令或者设置 slaveof 选项,让一个服务器去复制另一个服务器,我们称被复制的服务器为主服务器,而对主服务器进行复制的服务器则被称为从服务器. Red ...
- Springboot源码分析之EnableAspectJAutoProxy
摘要: Spring Framwork的两大核心技术就是IOC和AOP,AOP在Spring的产品线中有着大量的应用.如果说反射是你通向高级的基础,那么代理就是你站稳高级的底气.AOP的本质也就是大家 ...
- Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector
微信公众号[黄小斜]作者是蚂蚁金服 JAVA 工程师,目前在蚂蚁财富负责后端开发工作,专注于 JAVA 后端技术栈,同时也懂点投资理财,坚持学习和写作,用大厂程序员的视角解读技术与互联网,我的世界里不 ...
- scrapy学习(完全版)
scrapy1.6中文文档 scrapy1.6中文文档 scrapy中文文档 Scrapy框架 下载页面 解析页面 并发 深度 安装 scrapy学习教程 如果安装了anconda,可以在anacon ...
- springboot的异步调用
package com.handsight.platform.fras.aapp; import java.util.Locale; import org.slf4j.Logger; import o ...
- AR+工业,带来哪些革变呢?
随着技术的普及相信大家对VR和AR也略有所知,尤其是AR增强现实技术,已经成为许多科技巨头企业争相扩疆的热土,目前来说,AR技术最广泛的应用是工业领域,已经显示出巨大的价值. ...
- 关于多线程中sleep、join、yield的区别
好了.说了多线程,那就不得不说说多线程的sleep().join()和yield()三个方法的区别啦 1.sleep()方法 /** * Causes the currently executing ...