初识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正则表达式的更多相关文章

  1. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  2. 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式

    1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet'  href='bootstrap-3.3.0-dist/dist/css ...

  3. js正则表达式图形化工具-rline

    github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...

  4. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  5. JS正则表达式大全

    转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...

  6. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  7. JS正则表达式验证账号、手机号、电话和邮箱

    JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...

  8. 常用JS正则表达式

    常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...

  9. JS正则表达式大全(整理详细且实用)

    JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...

随机推荐

  1. sass高级语法

    github地址:https://github.com/lily1010/sass/tree/master/course03 用到的sass语法是: sass --watch test.scss:te ...

  2. 百度地图SDK 遇到的问题及解决方案

    目前项目工作中用到了百度地图sdk,遇到了不少问题,在此记录一下,顺便吐槽下希望百度能把这地图sdk做的更好用一点. 1,开发环境, Xcode6.0 (6A313) + 百度地图 iOS SDK v ...

  3. PHP学习之登录以及后台商品展示

    1.3用户登录 用户登录成功后跳转到商品显示页面 1.3.1设计界面 1.新建一个login.php页面,用来做用户的登录 2.登录业务原理 通过输入的用户名和密码查询对应的记录,表示登陆成功,否则登 ...

  4. iOS 跳转到系统的设置界面

    跳到健康设置   上网找了一下  你会发现很难找到.代码如下  不信你试试 . NSURL *url = [NSURL URLWithString:@"prefs:root=Privacy& ...

  5. TFS中向源代码方案中添加文件

    一些情况下,不能使用VS提供的菜单直接将文件添加到源代码项目,例如该文件是使用TT生成的,或者依赖于其它文件     此时可以在此文件的父级依赖文件上右击,即可添加未受托管的文件     另一种方法, ...

  6. 试用 Nexus OSS 3.0 的docker仓库 (一)

    Nexus 3.0 可以创建三种docker仓库: 1. docker (proxy)      代理和缓存远程仓库 ,只能pull 2. docker (hosted)    托管仓库 ,私有仓库, ...

  7. selenium+python测试

    pip install selenium, 得有图形界面, 这里简单的先演示一个打开浏览器,输入网址的demo,以百度为例 # encoding = utf-8 from selenium impor ...

  8. bootstrap的编辑标记 angularjs input 弹出框

    .html <div> {{instance.description}} <span class="glyphicon glyphicon-pencil btn-link& ...

  9. android ProGuard 代码混淆实现

    1 修改project.properties,添加ProGuard配置项 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt: ...

  10. linux查看硬件常用命令

          最近整理了平时工作中经常使用的命令,主要分为两大块,一块是查看硬件信息的命令,另一块是监控硬件运转情况的命令.这一篇只涉及查看硬件信息的命令,有关监控硬件运转的命令,我会在下一篇博客中给大 ...