正则表达式语法

JS正则表达式

泄露秘密 提交于 2020-03-27 00:11:00
var matches = pattern1.exec(text); console.log(matches.index); //0 console.log(matches[0]); //cat console.log(pattern1.lastIndex); //0 matches = pattern1.exec(text); console.log(matches.index); //0 console.log(matches[0]); //cat console.log(pattern1.lastIndex); //0 var pattern2 = /.at/g; var matches = pattern2.exec(text); console.log(matches.index); //0 console.log(matches[0]); //cat console.log(pattern2.lastIndex); //3 var matches = pattern2.exec(text); console.log(matches.index); //5 console.log(matches[0]); //bat console.log(pattern2.lastIndex); //8 复制代码 注意:IE的JavaScript实现lastIndex属性上存在偏差

JavaScript正则详谈

陌路散爱 提交于 2020-03-17 01:53:38
学过JavaScript的小伙伴应该都知道正则表达式,它简直让我们又爱又恨。 首先正则表达式是什么? 正则表达式的概念 正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript 的 RegExp 类,表示正则表达式,而 String 和 正则表达式都定义了进行强大的【模式匹配】和【文本检索】与【替换】的函数。 它可以简单地操作字符串,并完成一系列的操作,可以省下我们大量的时间和代码,这边是我们对它爱了的原因。 例如:如果正常操作字符串,找出字符串中的数字,需要将字符串遍历,并一一比较每一个字符,将是数字的字符拿出来,比较麻烦;而是用正则表达式只需要一句语句就可以实现。 var arr = str . match ( /\d+/g ) ; //str为要查找的字符串 正则表达式的创建 说到创建,那肯定就是 字面量方式和构造函数方式 了,我们学过的数组、对象、字符串等等都是有这两种方式创建的。 字面量方式: var reg1 = /hello/ig ; 构造函数方式 var reg2 = new RegExp ( "hello" , "ig" ) ; 我们一般常用的是使用字面量创建正则表达式,构造函数创建方式不常用。 正则表达式的使用 正则的方法 test方法:用来检测字符串是否符合正则的标准 语法:正则.test(字符串) 返回值为布尔类型

正则表达式

大兔子大兔子 提交于 2020-03-04 15:33:14
~~~~~基本方法: 1.test 正则.test(字符串)//判断字符串是否符合正则,符合返回true 否则返回false 2.search() 字符串.search(正则) 在字符串中搜索符合正则的,有的话返回符合的位置,否则返回-1 3.match() 字符串.match(正则) 在字符串中搜索符合正则的内容,搜索成功返回内容(以数组形式),否则返回null 4.replace() 字符串.replace(正则,替换的字符串) 查询符合正则的字符串,查询成功就替换成对应的字符串,返回替换后的内容 ~~~~~常见用某些单词表示一组: \s空格 \S非空格 \d数字 \D非数字 \w字符(字母 数字 下划线) \W非字符 ~~~~~常见的特殊字符的表示: g全局查找 i忽略大小写 \转义 ^字符串的开始位置 $字符串的结束位置 *任意次数 +大于1次 ?0次或者1次 {n}匹配n次 {n,}匹配大于n次 {n,m}匹配大于n次小于m次 |或 [a-b]a到b的范围 [abc]a,b,c中的任意一个 [^abc]除了a,b,c中的任意一个 [^a-z]除了a到z之间的任意一个 (pattern) 匹配 pattern 并捕获该匹配的子表达式。可以使用 $0...$9 属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“\(”或者“\)”。 (?:pattern

linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用

不羁的心 提交于 2020-02-28 21:47:55
linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 2015年12月25日 16:28:50 张小凡vip 阅读数 5404更多 所属专栏: linux基础与shell编程 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/50394765 我们前面已经学习过 linux的性能查询(top),以及网络端口查询(netstat)命令等等。 怎么让我们查询到的信息按 我们需要的格式 显示生成。 就是我们本章 需要 学习练习的。 主要是grep,sed,awk3个命令的运用。 grep主要负责搜索 sed主要负责处理行 awk主要复杂处理列 我们在下一章的内容再来学习实例,如果用这几个命令来进行性能监控等。 grep 作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 格式 grep [options] [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l

js正则

守給你的承諾、 提交于 2020-02-26 07:27:43
js正则 首先我们要了解什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列。 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。 正则表达式可以是单字符,或者更复杂的模式。 正则表达式可用于执行所有类型的文本搜索和文本替换操作。 创建一个正则 1、通过new创建正则 var num = new RegExp("hello", "ig"); 2、省略new创建正则 var num = RegExp("hello", "ig"); 3、正则常量赋值 var eg = /hello/ig; 正则可以传入两个参数: 1、正则主体部分,一般情况下就是字符串 2、 修饰符 (没有先后顺序) i 忽略大小写 g 全局匹配 m 换行匹配 正则表达式的常用方法 1.test 语法:正则.test(字符串); 功能:在字符串中匹配正则是否存在 返回值:如果存在返回true 如果不存在就返回false var str = "how aRe you"; var num = /are/i; //匹配are忽略大小写 alert(num.test(str)); //返回true 2.exec 格式:正则.exec(字符串) 功能:在字符串中匹配正则是否存在 返回值:如果存在返回一个数组,数组里面存放着匹配的内容.如果不存在,返回null alert(num

Shell编程之case语句与函数

寵の児 提交于 2020-02-26 01:21:59
一、case语句 1.语法结构 2.应用案例 1)脚本传不同值做不同事 2)根据用户需求选择做事 二、函数 1.什么是函数? 2.如何定义函数? 3.函数如何调用? 1)当前命令行调用 2)定义到用户的环境变量中 3)脚本中调用 三、综合案例 1.任务背景 2.具体要求 3.综合分析 4.落地实现 四、正则表达式 1.正则表达式是什么? 2.正则能干什么? 3.正则当中名词解释 4.第一类正则表达式 1)正则中普通常用的元字符 2)正则中其他常用元字符 3)扩展类正则常用元字符 5.第二类正则 6.正则表达式总结 五、正则元字符一栏表 六、正则练习作业 1.文件准备 2.具体要求 七、课后作业 脚本搭建web服务 一、case语句 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:pattern表示需要匹配的模式 case var in 定义变量;var代表是变量名 pattern 1) 模式1;用 | 分割多个模式,相当于or command1 需要执行的语句 ;; 两个分号代表命令结束 pattern 2) command2 ;; pattern 3) command3 ;; *) default,不满足以上模式,默认执行*)下面的语句 command4 ;; esac esac表示case语句结束 2. 应用案例 1)脚本传不同值做不同事

python 正则表达式语法记录

ぐ巨炮叔叔 提交于 2020-02-25 23:01:27
The special characters are: "." Matches any character except a newline. "^" Matches the start of the string. "$" Matches the end of the string or just before the newline at the end of the string. "*" Matches 0 or more (greedy) repetitions of the preceding RE. Greedy means that it will match as many repetitions as possible. "+" Matches 1 or more (greedy) repetitions of the preceding RE. "?" Matches 0 or 1 (greedy) of the preceding RE. *?,+?,?? Non-greedy versions of the previous three special characters. {m,n} Matches from m to n repetitions of the preceding RE. {m,n}? Non-greedy version of the

python正则表达式(3)--match方法

孤街醉人 提交于 2020-02-17 08:02:45
1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。 (1)函数语法 :   re.match(pattern, string, flags=0)   函数参数说明:     pattern 匹配的正则表达式     string 要匹配的字符串     flgs 标志位,用于控制正则表达式的匹配方式   我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。   group(num=0) 获取匹配结果的各个分组的字符串,group() 可以一次输入多个组号,此时返回一个包含那些组所对应值的元组。   groups() 返回一个包含所有分组字符串的元组。   注意:如果未匹配成功, match ()返回值为None,此时再使用group()、groups() 方法会报错。       应该先获取匹配对象,然后判断匹配对象是否非空,当非空时在使用group()、groups() 方法获取匹配结果。见实例2 (2)实例 例1 import re print ( re . match (r ' How ' , ' How are you ' ) . span ( ) ) # 在起始位置匹配 print ( re . match (r ' are ' , ' How

正则表达式语法表

喜夏-厌秋 提交于 2020-01-26 14:22:20
*/ /*--> */ 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“ n ”匹配字符“ n ”。“ \n ”匹配一个换行符。串行“ \\ ”匹配“ \ ”而“ \( ”则匹配“ ( ”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“ \n ”或“ \r ”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“ \n ”或“ \r ”之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo 能匹配“ z ”以及“ zoo ”。 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,“ zo+ ”能匹配“ zo ”以及“ zoo ”,但不能匹配“ z ”。+等价于{1,}。 ? 匹配前面的子表达式零次或一次。例如,“ do(es)? ”可以匹配“ does ”或“ does ”中的“ do ”。?等价于{0,1}。 {*n*} n 是一个非负整数。匹配确定的 n 次。例如,“ o{2} ”不能匹配“ Bob ”中的“ o ”,但是能匹配“ food ”中的两个o。 {*n*,} n 是一个非负整数。至少匹配 n 次。例如,“ o{2,} ”不能匹配“ Bob ”中的“ o ”,但能匹配“ foooood ”中的所有o。

正则表达式

心不动则不痛 提交于 2020-01-22 19:39:58
1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("iFat3")); 2 密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/; //输出 true console.log("=="+pPattern.test("iFat3#")); 3 整数正则 //正整数正则 var posPattern = /^\d+$/; //负整数正则 var negPattern = /^-\d+$/; //整数正则 var intPattern = /^-?\d+$/; //输出 true console.log(posPattern.test("42")); //输出 true console.log(negPattern.test("-42")); //输出 true console.log(intPattern.test("-42")); 4 数字正则 可以是整数也可以是浮点数 //正数正则 var