初识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. 【思维导图】Fiddler学习笔记

    最近在学习Fiddler这款工具,边学边画了如下的思维导图,可以方便自己对这款工具有一个全面的了解. 软件介绍(摘自百度百科):Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电 ...

  2. Emacs学习心得之 基础操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...

  3. Urban Planning and Public Health - Reflection on Professor Webster's article in Urban Planning Forum

    1. General review. Professor Webster published this article in Urban Planning Forum, one of the top ...

  4. 自定义JSP标签库及Properties使用

    自定义JSP标签库及Properties使用 自定义JSP标签 自定义JSP标签技术是在JSP 1.1版本中才出现的,它支持用户在JSP文件中自定义标签,这样可以使JSP代码更加简洁. 这些可重用的标 ...

  5. This version of android studio is incompatible with the gradle version used.Try disabling the instant run解决办法

    今天打开android studio又碰到一个奇怪的问题:This version of android studio is incompatible with the gradle version ...

  6. Android studio打开项目时出现 gradle download 无反应

    在使用android studio 新建 项目的时候,会发现一直无法下载 gradle程序一直卡住不动,原因是被墙了. 解决方法: 到gradle官网下载离线包,解压后将bin路径加入Path环境变量 ...

  7. 【代码笔记】iOS-抽屉效果的实现

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  8. iOS KVC详细讲解

    iOS KVC详细讲解 什么是KVC? KVC即NSKeyValueCoding,就是键-值编码的意思.一个非正式的 Protocol,是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取 ...

  9. iOS之 APNs全新的APNs苹果15年WWDC大会上的干货

    记得14年在dl某大学校招上现场面试iOS时候被问到了APNs也就是苹果的推送问题,当时我表示一脸懵逼,因为当时还没有真正接触做过项目也就了解了个大概,总之当时回答的一塌糊涂!后来回去就在网上仔细查了 ...

  10. C++ virtual虚函数

    #include<iostream> using namespace std; class Base{ public: void m() { cout << "it' ...