加强版正则表达式

以前觉得正则表达很难,今天又加强了一下正则表达的学习收获挺大的

在书写正则表达式的过程中我们遇到数字就用

最近在学习原生js,所有例子都在js下测试

常见案例一:在内容中匹配至少两位数字

var pattern=/[0-9]{2,}/gm;

var str=’234 sdf 33445,sfs’

var result=str.match(pattern);

document.write(result);

测试结果:234,33445

常见案例二:在内容中匹配手机号码(手机号码是11个纯数字组成)

var pattern=/[0-9]{11,11}/gm;

var str=’234 sdf 33445,s12345678901,sfds’

var result=str.match(pattern);

document.write(result);

测试结果:12345678901 (注意这里就是匹配到连续的11个数字)

其中[0-9]可以使用\d代替

常见案例三:在内容中含有非字母数字以及下划线(常用到密码验证中)

var pattern=/\W/gm;

var str=’joyous23_sdf,中文’

var result=str.match(pattern);

document.write(result);

测试结果:,,中,文

注:如果将\W换成\w就是匹配含有字母和数字以及下划线

常见案例四:匹配内容中以固定内容开头

var pattern=/^jo/gm;//匹配内容以jo开头

var str=’joyous23_sdf,中文’

var result=str.match(pattern);//匹配不到则返回null,匹配到则返回匹配内容

document.write(result);

测试结果:jo

常见案例五:匹配内容中以固定内容结尾

var pattern=/\.html$/gm;

var str=’http://www.0377joyous.com/archives/1028.html’;

var result=str.match(pattern);//匹配不到则返回null,匹配到则返回匹配内容

document.write(result);

测试结果:.html

注释:其中\.是匹配那个点的,因为在正则中那个.代表出去换行之外的任意字符

常见案例六:匹配内容中存在x字符

含有至多1个x:

var pattern=/j?/gm;

var str=’jwf’;

var result=str.match(pattern);//匹配不到则返回null,匹配到则返回匹配内容

document.write(result);

测试结果:j,,,

含有至少1个x:

var pattern=/j?/gm;中的问号换成+即可,如果换成*就是任意多个(当然也可以为0)

含有至少m个,最多n个:

var pattern=/j?/gm;换成var pattern=/j{3,5}/gm;

常见案例七:匹配内容中含有指定字符串或者字符中任意一个

var pattern=/Joyous|joyous|abc/gm;

var str=’hello Joyous ! 你好,my name abc’;

var result=str.match(pattern);//匹配不到则返回null,匹配到则返回匹配内容

document.write(result);

测试结果:Joyous,abc

常见案例八:匹配结果再利用

var pattern=/id=([0-9]{1,})&cid=([0-9]{1,})/;

var str=’id=23&cid=34′;

str.match(pattern);

document.write(RegExp.$1);

document.write(‘,’);

document.write(RegExp.$2);

测试结果:23,34

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python入门

python超详细的基础笔记你学会了么

python是一种面向对象的解释型计算机程序设计语言,python的是吉多·范罗苏姆(Guido van Rossum)于1989年发明

12220
来自专栏Java帮帮-微信公众号-技术文章全总结

【选择题】Java基础测试三(15道)

【选择题】Java基础测试三(15道) 26.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. privat...

42070
来自专栏Golang语言社区

Golang语言社区--【基础知识】范围规则

在任何编程程序的作用域,其中一个定义的变量可以有它的存在,超出该变量的区域就不能访问。有三个地方变量可以在Go编程语言声明如下: 内部函数或这就是所谓的局部变量...

339140
来自专栏Golang语言社区

Golang语言--指针

在Go中指针是很容易学习的。一些进入编程任务,指针更容易操作,如通过引用调用,需要要使用指针来执行。所以学习指针成为完美Go程序员很有必要。让我们开始学习指针的...

376120
来自专栏Java成长之路

动态代理详解

代理 是常用的基本设计模式之一,在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户...

9510
来自专栏landv

C语言-字符串文本串联

26030
来自专栏飞雪无情的博客

Go语言实战笔记(八)| Go 函数方法

在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说,函数就是方法,方法就是函数,但是在Go语言中,函数是指不属于任何结构体、...

8810
来自专栏小筱月

JavaScript delete 操作符

如果 expression 不是一个对象的引用,那么 delete 则不会起任何作用

15050
来自专栏编程

Python读书笔记11

前面的文章和大家分享了数字、字符串、列表和元组,我们重新声明这些变量回顾一下! 数字、浮点数直接用等号声明 字符串需要将内容用英文单引号或双引号括起来 列表是外...

20980
来自专栏阿凯的Excel

Python读书笔记11(循环遍历所有内容)

前面的文章和大家分享了数字、字符串、列表和元组,我们重新声明这些变量回顾一下! ? 数字、浮点数直接用等号声明 字符串需要将内容用英文单引号或双引号括起来 列...

32280

扫码关注云+社区

领取腾讯云代金券