• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > js正则表达式常用函数详解(续)

js正则表达式常用函数详解(续)

作者:Aaron 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Aaron通过本文主要向大家介绍了js正则表达式详解,js正则表达式,js正则表达式验证,js正则表达式语法,js正则表达式大全等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

正则表达式对象的方法

1、test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。如果存在则返回 true,否则就返回 false。
2、exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。
3、compile,把正则表达式编译为内部格式,从而执行得更快。
正则表达式对象的属性

1、source,返回正则表达式模式的文本的复本。只读。
2、lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。
3、input ($_),返回执行规范表述查找的字符串。只读。
4、lastMatch ($&),返回任何正则表达式搜索过程中的最后匹配的字符。只读。
5、lastParen ($+),如果有的话,返回任何正则表达式查找过程中最后括的子匹配。只读。
6、leftContext ($`),返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。
7、rightContext ($'),返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。只读。
String对象一些和正则表达式相关的方法

1、match,找到一个或多个正则表达式的匹配。
2、replace,替换与正则表达式匹配的子串。
3、search,检索与正则表达式相匹配的值。
4、split,把字符串分割为字符串数组。
案例1 test方法测试

//test方法,测试字符串,符合模式时返回true,否则返回false 
var re = /he/;//最简单的正则表达式,将匹配he这个单词 
var str = "he"; 
console.log(re.test(str));//true 
str = "we"; 
console.log(re.test(str));//false 
str = "HE"; 
console.log(re.test(str));//false,大写,如果要大小写都匹配可以指定i标志(i是ignoreCase或case-insensitive的表示) 
re = /he/i; 
console.log(re.test(str));//true 
str = "Certainly!He loves her!"; 
console.log(re.test(str));//true,只要包含he(HE)就符合,如果要只是he或HE,不能有其它字符,则可使用^和$ 
re = /^he/i;//脱字符(^)代表字符开始位置 
console.log(re.test(str));//false,因为he不在str最开始 
str = "He is a good boy!"; 
console.log(re.test(str));//true,He是字符开始位置,还需要使用$ 
re = /^he$/i;//$表示字符结束位置 
console.log(re.test(str));//false 
str = "He"; 
console.log(re.test(str));//true 
//当然,这样不能发现正则表达式有多强大,因为我们完全可以在上面的例子中使用==或indexOf 
re = /\s/;// \s匹配任何空白字符,包括空格、制表符、换页符等等 
str= "user Name";//用户名包含空格 
console.log(re.test(str));//true 
str = "user   Name";//用户名包含制表符 
console.log(re.test(str));//true 
re=/^[a-z]/i;//[]匹配指定范围内的任意字符,这里将匹配英文字母,不区分大小写 
str="variableName";//变量名必须以字母开头 
console.log(re.test(str));//true 
str="123abc"; 
console.log(re.test(str));//false 
</div>

案例2 exec测试

var haoVersion = "Haorooms 8";//其中的8表示系统主版本号 
var re = /^[a-z]+\s+\d+$/i; //+号表示字符至少要出现1次,\s表示空白字符,\d表示一个数字 
console.log(re.test(haoVersion));//true,但我们想知道主版本号 
//另一个方法exec,返回一个数组,数组的第一个元素为完整的匹配内容 
re=/^[a-z]+\s+\d+$/i; 
arr = re.exec(haoVersion); 
console.log(arr[0]);//将haoVersion完整输出,因为整个字符串刚好匹配re 
//我只需要取出数字 
re=/\d+/; 
var arr = re.exec(haoVersion); 
console.log(arr[0]);//8 

//exec返回的数组第1到n元素中包含的是匹配中出现的任意一个子匹配 
re=/^[a-z]+\s+(\d+)$/i;//用()来创建子匹配 
arr =re.exec(haoVersion); 
console.log(arr[0]);//整个haoVersion,也就是正则表达式的完整匹配 
console.log(arr[1]);//8,第一个子匹配,事实也可以这样取出主版本号 
console.log(arr.length);//2 
haoVersion = "Haorooms 8.10";//取出主版本号和次版本号 
re = /^[a-z]+\s+(\d+)\.(\d+)$/i;//.是正则表达式元字符之一,若要用它的字面意义须转义 
arr = re.exec(haoVersion); 
console.log(arr[0]);//完整的haoVersion 
console.log(arr[1]);//8 
console.log(arr[2]);//10

</div>

案例3 String对象的一些和正则表达式有关的方法

1、关于replace,我之前的一片博客专门写了。还可以传参数。

2、其他操作

//replace方法,用于替换字符串 
var str ="some money"; 
console.log(str.replace("some","much"));//much money 
//replace的第一个参数可以为正则表达式 
var re = /\s/;//空白字符 
console.log(str.replace(re,"%"));//some%money 
//在不知道字符串中有多少空白字符时,正则表达式极为方便 
str ="some some       \tsome\t\f"; 
re = /\s+/; 
console.log(str.replace(re,"#"));//但这样只会将第一次出现的一堆空白字符替换掉 
//因为一个正则表达式只能进行一次匹配,\s+匹配了第一个空格后就退出了 
re = /\s+/g;//g,全局标志,将使正则表达式匹配整个字符串 
console.log(str.replace(re,"@"));//some@some@some@ 
//另一个与之相似的是split 
var str = "a-bd-c"; 
var arr = str.split("-");//返回["a","bd","c"] 
//如果str是用户输入的,他可能输入a-bd-c也可能输入a bd c或a_bd_c,但不会是abdc(这样就说他输错了) 
str = "a_db-c";//用户以他喜欢的方式加分隔符s 
re=/[^a-z]/i;//前面我们说^表示字符开始,但在[]里它表示一个负字符集 
//匹配任何不在指定范围内的任意字符,这里将匹配除字母处的所有字符 
arr = str.split(re);//仍返回["a","bd","c"]; 
//在字符串中查找时我们常用indexOf,与之对应用于正则查找的方法是search 
str = "My age is 18.Golden age!";//年龄不是一定的,我们用indexOf不能查找它的位置 
re = /\d+/; 
console.log(str.search(re));//返回查找到的字符串开始下标10 
//注意,因为查找本身就是出现第一次就立即返回,所以无需在search时使用g标志 
//下面的代码虽然不出错,但g标志是多余的 
re=/\d+/g; 
console.log(str.search(re));//仍然是10 

var str = "My name is CJ.Hello everyone!"; 
var re = /[A-Z]/;//匹配所有大写字母 
var arr = str.match(re);//返回数组 
console.log(arr);//数组中只会包含一个M,因为我们没有使用全局匹配 
re = /[A-Z]/g; 
arr = str.match(re); 
console.log(arr);//M,C,J,H 
//从字符串中抽取单词 
re = /\b[a-z]*\b/gi;//\b表示单词边界 
str = "one two three four"; 
console.log(str.match(re));//one,two,three,four 
</div>

案例4 RegExp对象实例的一些属性

var re = /[a-z]/i; 
console.log(re.source);//将[a-z]字符串输出 
//请注意,直接console.log(re)会将正则表达式连同前向斜线与标志输出,这是re.toString方法定义的 

var re = /[A-Z]/; 
//exec方法执行后,修改了re的lastIndex属性, 
var str = "Hello,World!!!"; 
var arr = re.exec(str); 
console.log(re.lastIndex);//0,因为没有设置全局标志 
re = /[A-Z]/g; 
arr = re.exec(str); 
console.log(re.lastIndex);//1 
arr = re.exec(str); 
console.log(re.lastIndex);//7 

var re = /[A-Z]/; 
var str = "Hello,World!!!"; 
re.lastIndex = 120; 
var arr = re.exec(str); 
console.log(re.lastIndex);//0 

</div>

案例5 RegExp对象的静态属性

//input 最后用于匹配的字符串(传递给test,exec方法的字符串) 
var re = /[A-Z]/; 
var



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 正则表达式教程之前后查找lookaround详解
  • 正则表达式教程之位置匹配详解
  • 正则表达式教程之重复匹配详解
  • 正则表达式教程之匹配一组字符详解
  • 正则表达式教程之匹配单个字符详解
  • 正则表达式教程之操作符及说明详解
  • 详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)
  • 正则表达式分组实例详解
  • 详解正则表达式之数字验证
  • 详解js正则表达式语法介绍

相关文章

  • 2017-05-11Further Study of Rugular Expresions第1/2页
  • 2017-05-11用正则表达式过滤html代码
  • 2017-05-11最常用的PHP正则表达式收集整理
  • 2017-05-11java正则表达式验证函数
  • 2017-05-11超常用的PHP正则表达式收集整理
  • 2017-05-11正则表达式 运算符优先级介绍
  • 2017-05-11常用正则表达式收集
  • 2017-05-11正则表达式常用用法汇总
  • 2017-05-11关于preg_replace函数的问题讲解
  • 2017-05-11通过脚本清空标签p中的class名和style 原创

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • js mac地址 正则表达式
    • Python爬虫正则表达式常用符号和方法
    • 正则表达式(regex)入门、元字符(特殊字符)学习与提高
    • Java中使用正则表达式处理文本数据
    • vbs:一段比较精简的代码实现取得字符串的"字节"数
    • 正则替换换行符和把 br 替换成换行符
    • asp去除html标记与空格的正则
    • php正则表达式匹配img中任意属性的方法
    • ASP 正则表达式的应用使用说明
    • Javascript里的两种使用正则的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有