js正则表达式语法大全_vb 正则表达式

js正则表达式语法大全_vb 正则表达式 JavaScript正则表达式的用法正则表达式是一种可以用于模式匹配和替换的强大工具,在很多语言中都可以应用。JavaScript对正则表达式提供了很好的支持,Javascript中有一个正则表达式对象RegExp。该对象提供了大量的属性和方法来处理正则表达式,同时,String对象也提供了相关的方法来处理正则表达式,在Web应用中,经常使用正则表达式来验证用户输入的信息,例如在用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

JavaScript正则表达式的用法

  • 正则表达式是一种可以用于模式匹配和替换的强大工具,在很多语言中都可以应用。JavaScript对正则表达式提供了很好的支持, Javascript中有一个正则表达式对象RegExp。该对象提供了大量的属性和方法来处理正则表达式,同时,String对象也提供了相关的方法来处理正则表达式,在Web应用中,经常使用正则表达式来验证用户输入的信息,例如在用户注册过程中,验证输入的Email地址是否合法。以下我们就介绍一下正则表达式的基本用法。

JavaScript正则表达式的基本用法

  • 正则表达式的作用主要有三:
    • 验证数字是否符合特定模式;
    • 利用正则表达式找到特定文本而后删除或者替换文本;
    • 按模式匹配在字符串中查找查找匹配子字符串。
  • Javascript中使用正则表达式的方法有二:
  • 一是使用RegExp对象
    • 其基本语法为:var rx=new RegExp(pattern[,flags]);,其中参数pattern是一个字符串,表示要使用的正则表达式模式,参数flag为一个可选的字符串,表示如何应用模式的标志,多种标志可以组合使用。
    • 主要有三种模:g;全文查找出现的所有模式;i:忽略大小写;m:多行查找;
  • 二是使用正则表达式直接量 var rx=/pattern/flags;
    • pattern表示使用的正则表达式模式,flag如何应用的标记同上;
  • 模式字符串组成
    • 正则表达式就是有普通字符以及特殊字符(称为元字符)组成的文字模式。元字符前面的字符称为前导符,元字符按功能又分为限定符、定位符等类别,下面对常用的元字符进行列表说明。
常见元字符
元字符 说明
/s 匹配单个空格,包括tab键和换行符
/S 匹配出单个空格符之外的所有字符,/S与/s互为逆运算
/d 匹配从0~9的数字
/w 匹配字母,数字或者下划线字符
/W 匹配所有与/w不匹配的字符,/W与/s互为逆运算
/cx 匹配由x指明的控制字符。例如,/cZ匹配一个Control-Z。x的值必须为A~Z或者a~z之一。否则,将c视为一个愿意的’c’字符
/f 匹配一个换页符,等价与/x0c和/cL
/n 匹配一个换行符,等价于/x0a和/cJ
/r 匹配一个回车符,等价于/x0d和/cM
/t 匹配一个制表符,等价于/x09和/cI
/v 匹配一个垂直制表符。等价于/x0b和/cK
. 用于匹配除换行符之外的所有字符

限定符说明
限定符 说明
* 匹配前导字符出现零次或者多次
+ 匹配前导字符出现一次或者多次
? 匹配前导字符出现零次或者一次
{n} 匹配前导字符出现n次,n>=0;
{n,} 匹配前导字符至少出现n次,n>=0;
{n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;

定位符说明
定位符 说明
^ 匹配模式必须出现在目标字符串开头
$ 匹配模式必须出现在目标的结尾
/b 匹配模式必须出现在目标字符串的开头或者结尾的两个边界之一
/B 匹配对象必须位于目标字符串的开头和结尾的两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾
  • 正则表达式匹配模式的范围指定符
    • []限定的模式指定了其中一个字符的出现的可能。如/[A-Z]/表示匹配从A到Z的任何一个字符;/[A-Za-z]/表示匹配从A到Z或者从a-z的任何一个字符;
    • ()限定的模式指定()里包含的内容必须同时出现在对象中。如/(abc)[0-9]/意思是目标字符串中出现的abc1,abc2…abc9中9个中的任何一个,而不是ab1,a2等;
    • “|”类似于逻辑运算中的“或”运算,如:/sb|sbb|6/表示与目标对象中的”sb”,”sbb”,”6″中任何一个相匹配;
    • 当^符出现在[]中时,表示取否定运算。如:/[^A-G]/表示与目标对象中除了A-G之外的字符相匹配;
  • 字符转义与优先级顺序
  • 在匹配模式需要使用元字符时,需要使用转移字符“/+元字符”表示,如查找“12*”模式,我们可以使用/12/*/表示;构造玩正则表达式以后,就可以像使用数学表达式一样来求值。正则表达式在匹配过程中是按照从左向右的顺序进行的,其操作符具有一定的优先级顺序

优先级顺序
优先级 操作符 说明
1 / 转义符
2 (),(?:),(?=),[] 圆括号和方括号
3 *,+,?,{n},{n,},{n,m} 限定符
4 ^,$,/anyMatchcharacter 位置顺序
5 | 或操作

正则对象表达式对象

  • RegExp对象的属性与方法

RegExp对象的静态属性
属性 说明
index 只读属性,返回字符串中第一次与模式相匹配的子字符串的开始位置,初始值为-1;
input 只读属性,返回当前被正则表达式模式作用的字符串,可以简写为“$_”,初始值为空字符串;
lastIndex 只读属性,返回被查找字符串中下一次成功匹配的子字符串的开始位置,其初始位置为-1,其值会随着匹配的不同而被修改;
lastMatch 只读属性,返回正则表达式在搜索过程中最后匹配的字符,可以简写为:“$&”;
lastParen 只读属性,返回正则表达式在查找过程中最后用园括号括起来的子匹配;
leftContext 只读属性,返回被搜索字符串中从开始位置到最后匹配之前为之间的字符,可以简写为”$^”;
rightContext 只读属性,返回被搜索字符串中从最后一个匹配位置开始到字符串结尾之间的字符,可以简写为”$'”;
$1-$9 代表$1,$2…$9等9个只读属性,返回9个在模式匹配期间找到的,最近保存的部分;
RegExp对象的实例属性
global 只读属性,布尔值,表示创建RegExp时是否设置了g标志,如果设置了则返回true,否则返回false;
ignoreCase 只读属性,布尔值,表示创建RegExp时是否设置了i标志,如果设置了则返回true,否则返回false;
multiline 只读属性,布尔值,表示创建RegExp时是否设置了m标志,如果设置了则返回true,否则返回false;
source 只读属性,字符串型,返回正则表达式模式字符串;
RegExp对象的方法
exec() RegExp对象的exec()方法是与正则表达式匹配的强大方法,语法格式为:array=reObj.exec(str);
test() RegExp对像的Test()方法用于在给定的字符串中测试正则表达式是否匹配,其基本语法为:var passed=reObj.text(str);如果匹配则返回true,否则返回false
compile() RegExp对象的compile()方法用于将正则表达式编译为内部格式,从而执行得更快,其基本语法为:reObj.compile(pattern[,flag]);

String对象的4个正则表达式用法

String对象的4个正则表达式方法
search() 用于查找特定子字符串,其基本语法为var str=strObj.search(re);方法返回第一个与正则表达式匹配的子字符串;
replace() 用于检索与替换操作,其基本语法格式为:strObj.replace(re,str);如果re不是正则表达式,则表示普通字符串替换;
match() 使用正则表达式模式对字符串进行查找,使用方法为var array=strObj.match(re);返回三个属性:1)input包含整个被查找字符串,2)index包含了整个被查找字符串中的匹配的子字符串的位置,lastindex属性包含了最后一次匹配字符串的位置;
split() 可以使用正则表达式做参数作为分割字符标志分割字符串;

文章出处:
http://blog.sina.com.cn/s/blog_5d1f29c10100b35w.html~type=v5_one&label=rela_prevarticle

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

文章采集正则之我见

 

/(/w+).htm 根据上面的参数可知 匹配所有以字符下划线数字字符的以.htm结尾的,比如/123kl_p.html

(/(/w+))*.htm  注意 *可是匹配前导字符 0次或者0次以上的 匹配当前页面所有的以.htm结尾的,并且无限极例如 /q/u/f/j/123_0p.htm.

(/(/w+))+.htm  注意 +可是匹配前导字符 1次或者0次以上的 匹配当前页面所有的以.htm结尾的,并且无限极例如 /q/u/f/j/123_0p.htm. 增加一个过滤功能

下面的唯一与上面不同的是 将w换为了d,也就是缩小了范围 只是匹配数字

/(/d+).htm 根据上面的参数可知 匹配所有以数字.htm结尾的,比如/123.html

(/(/d+))*.htm  注意 *可是匹配前导字符 0次或者0次以上的 匹配当前页面所有的以.htm结尾的,并且无限极例如 /1/2/3/4/1239.htm.

(/(/d+))+.htm  注意 +可是匹配前导字符 1次或者0次以上的 匹配当前页面所有的以.htm结尾的,并且无限极例如 /1/2/3/4/1239.htm. 增加一个过滤功能

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191534.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序 小程序源码包括后台完整版分享

    微信小程序 小程序源码包括后台完整版分享需要的留邮箱免费发!版权归作者所有,任何形式转载请联系作者。作者:执波仔丶(csdn博客)最新收集的60个微信小程序源码分享+开发视频教程最新收集的60个微信小程序源码分享+开发视频教程最新收集的60个微信小程序源码分享+开发视频教程小程序源码使用教程(源码文件夹自带安装教程,本教程不一定通用):第一步:百度搜索下载微信开发者工具(最新1.02.1801081,支持mac)第二步:打开开发工具客…

    2022年7月20日
    20
  • 《数据结构导论自考知识点(自己总结)》「建议收藏」

    《数据结构导论自考知识点(自己总结)》「建议收藏」《数据结构导论自考知识点》一、线性表:1、插入:从后往前挪,删除:从前往后挪2、顺序存储(方式:for循环)3、链式存储:{单链表的一个结点由两部分组成,数据元素和指针。datanext^^数据指针}二、栈、队列:4、栈:top++入栈,top–出栈5、队列:顺序队列,出队操作队首,指针后移一位,front=(front+1)%习题:一个二维数组,…

    2022年8月18日
    3
  • Android中BindService和StartService「建议收藏」

    Android中BindService和StartService「建议收藏」一、首先,让我们确认下什么是service?       service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互、它必须由用户或者其他程序显式的启动、它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦。二、那么,什么时候,我们需要使用s

    2022年5月18日
    37
  • springcloud微服务搭建_域名301重定向教程

    springcloud微服务搭建_域名301重定向教程前言1.由于我只有一台nginx服务器,那么想要实现一个服务器的多个网站的搭建,在html目录下建立多个文件夹,并用url转发使得不同的二级域名指向html文件夹下的不同子文件夹,这样做便能做到“多个网站”的效果。2.url转发也能够使得一个网站拥有几个域名比如wikipedia.com和wikipedia.net都指向了wikipedia.org。当你访问wikipedia.com或wikipedia.net的时候,跳转出来的页面是wikipedia.org的页面3.重定向是带有状态码的响应,我

    2022年10月19日
    0
  • 1024代理服务器网站,1024hgc.com服务器iP「建议收藏」

    2021-07-26—–2021-08-10172.67.24.1612021-07-26—–2021-08-10104.22.46.962021-07-26—–2021-08-10104.22.47.962021-03-25—–2021-07-26104.26.3.652021-03-25—–2021-07-26104.26.2.652021-03-25—–2…

    2022年4月9日
    96
  • pycharm 2021.11激活[最新免费获取]

    (pycharm 2021.11激活)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCE…

    2022年3月29日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号