JS正则表达式(转载)
在JavaScript中,RegExp对象表示正则表达式,用来对字符串进行匹配。
一、两种定义方法:
1、直接量法:
/pattern/attribute
2、对象法:
new RegExp(pattern,attribute);
参数说明:
pattern是一个字符串,指定了正则表达式的模式或其他的正则表达式;
attribute是一个可选的字符串,用来模式匹配的范围,包括i,g,m三个字符,分别代表区分大小写匹配、全局匹配和多行匹配。(如果pattern是正则表达式而不是字符串,怎必须删除该参数)
i-->ignoreCase;
g-->gloable;
m-->multiLine;
二、正则表达式语法说明:
正则表达式的语法从修饰符、方括号、元字符、量词、RegExp对象属性、RegExp对象方法和支持正则表达式的String对象的方法等七个方面进行描述:
1、修饰符:
| 修饰符 | 描述 |
| i | 执行对大小写不敏感的匹配 |
| g | 执行全部匹配(查找所有的匹配项,而非在找到第一个匹配项后结束) |
| m | 执行多行匹配 |
2、方括号:
| 表达式 | 描述 |
| [abcd] | 查找给定集合内的任意字符 |
| [^abcd] | 查找不在给定集合内的任意字符 |
| [0-9] | 查找任何从0到9的数字 |
| [a-z] | 查找任何从a到z的小写字母 |
| [A-Z] | 查找任何从A到Z的大写字母 |
| [A-z] | 查找任何从大写A到小写z的字母 |
| [red|blue|green] | 查找任何指定的选项 |
3、元字符
| 元字符 | 描述 |
| . | 查找任意一个字符,不包括换行符和行结束符 |
| \w | 查找单词字符,单词字符包括a-z、A-Z、0-9和下划线 |
| \W | 查找非单词字符 |
| \d | 查找数字 |
| \D | 查找非数字字符 |
| \s | 查找空白字符,包括空格符、制表符、回车符、换行符、垂直换行符和换页符 |
| \S | 查找非空白字符 |
| \b | 匹配单词边界 |
| \B | 匹配非单词边界 |
| \0 | 查找null字符 |
| \n | 查找换行符,返回换行符被找到的位置,如果没有就返回-1 |
| \f | 查找换页符 |
| \r | 查找回车符 |
| \t | 查找制表符 |
| \v | 查找垂直制表符 |
| \××× | 查找以八进制数×××规定的字符 |
| \×dd | 查找以十六进制dd规定的字符 |
| \u×××× | 查找以十六进制××××规定的unicode字符 |
4、量词
| 量词 | 描述 |
| n+ | 匹配包含至少一个n的字符串 |
| n* | 匹配包含0个或多个n的字符串 |
| n? | 匹配包含0个或1个n的字符串 |
| n{X} | 匹配包含x个n的序列的字符串 |
| n{X,Y} | 匹配包含X个或Y个n的序列的字符串 |
| n{X,} | 匹配至少包含X个n的序列的字符串 |
| n$ | 匹配任何以n结尾的字符串 |
| ^n | 匹配任何以n开头的字符串 |
| ?=n | 匹配任何其后紧接指定字符串n的字符串 |
| ?!n | 匹配任何其后不紧接指定字符串n的字符串 |
5、RegExp对象属性
| 属性 | 描述 |
| gloable | RegExp对象是否有g标示,RegExpObject.global,返回boolean类型 |
| ignoreCase | RegExp对象是否有i标示,RegExpObject.global,返回boolean类型 |
| multiline | RegExp对象是否有m标示,RegExpObject.global,返回boolean类型 |
| lastIndex | 一个整数,表示下一次开始匹配的位置 |
| source | 正则表达式原文本 ,返回模式匹配所用的文本 |
6、 RegExp对象方法
| 方法 | 描述 |
| compile | 编译正则表达式。用法:RegExpObject.compile(regexp,modifier) modifier规定匹配的类型-->i,m,g |
| exec | 检索字符串中指定的值,返回找到的值并确定其位置,如果没找到则返回null |
| test | 检索字符串中指定的值,返回boolean类型.用来判断一个字符串是否匹配某个模式,RegExpObject.test(String) |
7、支持正则表达式的 String 对象的方法
| 方法 | 描述 |
| search | 检索与正则表达式相匹配的值或指定的子字符串。用法:stringObject.search(regexp) |
| match | 匹配指定的值或与一个或多个正则表达式匹配的字符串。用法:stringObject.match(searchvalue);stringObject.match(regexp) |
| replace | 用一些字符替换另一些字符或替换与一个正则表达式匹配的子串。用法:stringObject.replace(regexp/substr,replacement),前者是子串或要替换的正则表达式,后者是替换文本 |
| split | 用于把一个字符串分割成字符串数组。用法:stringObject.split(separator,howmany)。前者必须,字符串或正则表达式,从该参数指定的地方开始分割。 |
JS正则表达式(转载)的更多相关文章
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式
1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet' href='bootstrap-3.3.0-dist/dist/css ...
- js正则表达式图形化工具-rline
github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
- JS正则表达式验证账号、手机号、电话和邮箱
JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...
- 初识JS正则表达式
初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...
- 常用JS正则表达式
常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
随机推荐
- 【深度搜索+剪枝】POJ1011-Sticks
深搜部分和之前的POJ2362差不多,只是有几处需要额外的剪枝. [思路]排序后从最短木棒开始搜索至木棒长总和,如果木棒长总和sum能整除当前棒长,则进入深搜. [剪枝]先前POJ2362的剪枝部分不 ...
- 1.创建spring cloud父工程和子模块
创建父工程 idea创建父工程 idea创建一个工程.父工程管理公共资源 添加子模块 选择添加到父工程里面spring_cloud_parent 相应的子模块添加到父工程的pom.xml文件里
- maven项目修改项目名
修改pom文件下面三处
- pcap报文格式
pcap报文格式 pcap报文整体格式 pcap 报文头格式 pcap报文格式,黄色部分为报文头 pcapng报文格式 PCAPNG: PCAP Next Generation Dump File F ...
- 用 Jenkins + .netcore 2.0 构建
上一篇是关于 .net framework 框架的, 今天是关于 .netcore 2.0 的 这里为大家分享 配置中踩到的坑 cd %WORKSPACE%\"需要还原的项目目录" ...
- C#读取Windows日志
管理-->事件查看器 可以查看[应用程序].[安全].[系统]等分类的日志 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...
- [Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常
转载:http://blog.csdn.net/winson_jason/article/details/20357435 下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题,今天时 ...
- 用sencha touch的Cmd创建的MVC工程需要注意的问题
用ST的cmd创建的js文件都是ANSI编码格式的,所以导致无法正常显示中文.例如传输的参数为中文时就为乱码,导致各种问题... 解决办法:将js文件用记事本打开,另存为,选择编码为UTF-8,覆盖原 ...
- java 图片文字识别 ocr
最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为java使用的demo 在此之前,使用这个工具需要在本地安装OCR工具: 下面一个是一定要安装的 ...
- 转: APK签名校验绕过
转: http://drops.wooyun.org/mobile/4296 APK签名校验绕过 3xpl0it · 2014/12/11 10:41 0x01 Android签名机制 将APK重命名 ...