javascript正则表达式容易被忽略的小问题整理
一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符\ . *?+。下面是测试结果:
所以,/[\d.]/这个正则表达式实际上是匹配数字字符或者字符".",作用等同于/[\d\.]/
二、match()和exec()的区别
二者的区别主要在于正则表达式在设置了全局标识符g的情况。
如果没有设置全局标识符g,那么调用string.match(regexp)的结果和调用regexp.exec(string)的结果是相同的,
但在设置了全局标识符g时,string.match(regexp)会把所有的匹配都放入结果数组中,regexp.exec(string)的结果则只给出第一个成功的匹配。
而用regexp.lastIndex属性来记录下一次匹配开始的位置。测试如下:
PS:另外要注意的是lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的。
相关推荐
-
javascript正则表达式参数/g与/i及/gi的使用指南
regularexpression=/pattern/[switch] 这个switch就有三种值 g: 全局匹配 i: 忽略大小写 gi: 全局匹配 + 忽略大小写 JScript 语言参考 -------------------------------------------------------------------------------- 后向引用 正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力.请回想一下,对一个正则表达式模式或部分模式两边添加圆
-
javascript中正则表达式反向引用示例介绍
最近遇到一个需求,传入一个字符串,每三个字符插入一个空格 例: 传入abcd1234 输出 abc d12 34 思考了一下,准备写一个函数如下 复制代码 代码如下: function appendSpace(s) { var length = s.length; var result = ""; var last = 0; for(var i = 3;i<=length;i=i+3,last = last+3) { result = result+s.substring(i-3
-
比较全面的C 、Java、JavaScript中的正则表达式详解
什么是正则表达式? 正则表达式(Regular Expression) 就是用某种模式去匹配一类字符串的公式.如你要在一篇文章中查找第一个字是"罗"最后一个字是"浩"的三个字的姓名,即"罗 * 浩":那么"罗 * 浩"就是公式,也称作 模式(Pattern) ,这篇文章就是 要匹配的串( 或叫文本 text) .再如,你要检查输入的一个字符串是否是 126 邮箱的格式,你得制定一个规则去查检,这种规则就是正则表达式. 从入门开
-
java正则表达式解析html示例分享
复制代码 代码如下: package work; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.regex.Matcher;import java.util.regex.Pattern; import org.apache.commons.httpclient.DefaultH
-
java正则表达式验证邮箱、电话号码示例
下面的代码使用正则表达式验证输入格式包括了验证邮箱和验证手机号码 复制代码 代码如下: package com.firewolf.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 使用正则表达式验证输入格式 * @author liuxing * */ public class RegexValidateUtil { public static void main(String[]
-
如何使用Javascript正则表达式来格式化XML内容
使用得是Emeditor ,在看XML文档时,总是因为格式混乱而看不清.这个是一个Emeditor宏来自动格式化XML.下载:formatXml.rar(1,021.00 bytes)下面这段是这个网页版的javascript格式化XML的代码. 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head> <meta http-
-
java正则表达式匹配网页所有网址和链接文字的示例
复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.
-
javascript 获取url参数的正则表达式(用来获取某个参数值)
例子: //javascript传参数(多个) var url = "B.aspx?txtA="+document.getElementById("txtName").value; url +="&txtB="+document.getElementById("txtAge").value; window.open(url,'xWindow','width=640,height=400,status=no,toolba
-
js正则表达式之match函数讲解
功能:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项 返回值:如果能匹配则返回结果数组,如果不能匹配返回null 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //使用正则表达式模式对字符串执行查找,并将包含查
-
java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等 复制代码 代码如下: package util; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * 使用正则表达式进行表单验证 * */ public class RegexValidateUtil { static boolean flag = false; static String regex = ""
-
RegexOptions.IgnoreCase正则表达式替换,忽略大小写
//////////////////////////// string inputstr = "@{AbcD},@{bbbb},@{ABcd}"; string pmType = "@"; string regTxt = (pmType + "\\s*\\{\\s*" + "abcd" + "\\s*\\}").Replace("(&
随机推荐
- 深入理解java异常处理机制的原理和开发应用
- JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
- php正则表达式基本知识与应用详解【经典教程】
- php的正则处理函数总结分析
- 如何解决django配置settings时遇到Could not import settings 'conf.local'
- python3使用tkinter实现ui界面简单实例
- 在Linux与Windows上获取当前堆栈信息的方法
- C语言数组指针的小例子
- 解析android 流量监测的实现原理
- 关于webpack2和模块打包的新手指南(小结)
- Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器
- 浅析JAVA中过滤器、监听器、拦截器的区别
- JS父页面与子页面相互传值方法
- Android 使用Path实现涂鸦功能
- js猜数字小游戏的简单实现代码
- java 在file的尾部添加数据的两种方法总结
- Android弹幕框架 黑暗火焰使基本使用方法
- Android中ListView绑定CheckBox实现全选增加和删除功能(DEMO)
- 将文本文件的内容或者文字保存成图片的方法分享
- C# 中DateTime 的使用技巧汇总