初识JS正则表达式
初识JS正则表达式
看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html
PS:本文参考李炎恢JS笔记 http://pan.baidu.com/s/1c0o09na
1.正则表达式:描述字符模式对象,ES的RegRxp类表示正则表达式。String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。
2.创建正则表达式的两种方法(1)通过new RegExp对象 var box = new RegExp('box')//第一个参数字符串
var box = new RegExp('box','[igm]')//第二个参数可选模式修饰符
i表示忽略大小写 g表示全局匹配 m表示多行匹配
(2)通过字面量形式 var pattern = /box/[igm可选] 含义同上
个人感觉字面量形式省时省力 推荐
3.测试正则表达式有两种方法 (1)test 在字符串中测试模式匹配,返回true或者false
(2)exec 在字符串中执行匹配搜索,返回结果数组
var pattern = /box/i;
var str = 'this is a Box';
alert(pattern.test(str)); //true
alert(pattern.exec(str));//匹配了返回数组,如果没有找到就为null
4.使用字符串的正则表达式方法
match(pattern) 返回pattern中的子串或者null
replace(pattern) 用replacement替换pattern
search(pattern) 返回匹配到的pattern在字符串中的开始位置,没有返回-1
split(pattern) 返回字符串按指定pattern拆分的数组
var pattern = /box/ig;
var str = 'This is a BOX! This is a box!'
str.match(pattern) 匹配到BOX box
str.search(pattern) 返回10 //search找到即返回 无需g
str.replace(pattern,'Tom') This is a Tom! This is aTom!
str.split(/\s/ig); This,is,a,Box,This,is,a,box
5.RegExp对象静态属性(由于不经常用到,所以直接截图复制)




6.正则表达式元字符是包含特殊意义的字符,可以用于控制匹配模式的方式。
. (符号.) 匹配除了换行符外的任意字符
[a-z0-9] 匹配括号字符集中的任何字符
[^a-z] 匹配非括号中的任意字符//包括但是不仅限于a-z只是用于了解方便
\d 匹配数字
\D 匹配非数字
\w 匹配字母数字下划线
\W 匹配非字母数字下划线
\s 匹配空格
\S 匹配非空格
锚字符类:
^行首匹配 注意与[^]的区别 ^[a-z]表示以a-z字母开头 [^a-z]表示非a-z中的字符 ^一个在[]里面一个在[]外面
$行尾匹配
x? 匹配0个或者1个x
x* 匹配任意个x
x+ 匹配至少一个x
(xyz)+ 匹配至少一个组合(xyz)
x{m,n} 匹配最少m个,最多n个
a|b|c 匹配a,b,c中的任意一个
()用于分组
$n或者\n 匹配第n个分组中的内容
以下不常用的用截图表示


示例用截图表示:







初识JS正则表达式的更多相关文章
- 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正则表达式 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- 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正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
随机推荐
- c# 嵌入资源文件
欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/zjfree/ ] 开发环境:VS2005 C# 首先将要嵌入的资源拷贝到工程目录下. 设置文件生成操作为:嵌入的资源 获 ...
- Autodesk 2013开发者日(DevDays)又要来了 -- 北京(2013年11月7日)和上海(2013年11月11日)
各位, 一年一度的Autodesk 开发者日(Devdays)开始注册了,抓紧时间前排占座! 注册地址: www.autodesk.com.cn/adndevday2013 今年开发者日的主题:革命性 ...
- 【Leafletjs】1.创建一个地图
code: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <l ...
- 一文让你彻底了解iOS字体相关知识
写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅. 一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后 ...
- Android JNI简介
JNI简介 JNI (Java Native Interface),Java的本地接口 JNI是Java众多开发技术中的一门,意在利用本地代码,为Java程序提供 更高效,更灵活的拓展.应用场景包括: ...
- 【iOS】WebView加载HTML图片大小自适应与文章自动换行
在很多App中都会使用到webview,尤其是在加载新闻内容等文章形式的数据时.因为图文混编以及不同字体格式的显示,在iOS进行编辑 和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制 ...
- objective-c系列-NSMutableArray
******************************************** // 可变数组构造方法 // 下边两句的定义都是不可变的 // NSMutableArray *mar ...
- TextView 字数限制
给大家推荐一个 无bug的 字数限制 http://blog.csdn.net/u012460084/article/details/50377928
- django 微信企业号 返回text消息
from django.template import Context,Template textTemplate=""" <xml> <ToUserN ...
- WPF学习之路(十二)控件(HeaderedContent控件)
GroupBox 用来组织多种控件的常见控件,因为是内容空间,只能直接包含一项,需要使用面板一类的中间空间. Header和Content可以是任意元素 <GroupBox> <Gr ...