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属性的。
相关推荐
-
RegexOptions.IgnoreCase正则表达式替换,忽略大小写
//////////////////////////// string inputstr = "@{AbcD},@{bbbb},@{ABcd}"; string pmType = "@"; string regTxt = (pmType + "\\s*\\{\\s*" + "abcd" + "\\s*\\}").Replace("(&
-
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 = ""
-
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[]
-
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
-
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
-
js正则表达式之match函数讲解
功能:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项 返回值:如果能匹配则返回结果数组,如果不能匹配返回null 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //使用正则表达式模式对字符串执行查找,并将包含查
-
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.
-
比较全面的C 、Java、JavaScript中的正则表达式详解
什么是正则表达式? 正则表达式(Regular Expression) 就是用某种模式去匹配一类字符串的公式.如你要在一篇文章中查找第一个字是"罗"最后一个字是"浩"的三个字的姓名,即"罗 * 浩":那么"罗 * 浩"就是公式,也称作 模式(Pattern) ,这篇文章就是 要匹配的串( 或叫文本 text) .再如,你要检查输入的一个字符串是否是 126 邮箱的格式,你得制定一个规则去查检,这种规则就是正则表达式. 从入门开
-
如何使用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-
-
javascript正则表达式参数/g与/i及/gi的使用指南
regularexpression=/pattern/[switch] 这个switch就有三种值 g: 全局匹配 i: 忽略大小写 gi: 全局匹配 + 忽略大小写 JScript 语言参考 -------------------------------------------------------------------------------- 后向引用 正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力.请回想一下,对一个正则表达式模式或部分模式两边添加圆
-
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
随机推荐
- 基于jquery实现百度新闻导航菜单滑动动画
- 遭遇Reply from : TTL expired in transit.
- .NET中接口与类的区别浅析
- Javacript实现颜色梯度变化和渐变的效果代码
- filters.revealTrans.Transition使用方法小结
- c# 引用类型和值类型
- smtp邮件发送一例
- 基于PHP输出缓存(output_buffering)的深入理解
- 微信小程序 数据绑定及运算的简单实例
- 简单的php缓存类分享 php缓存机制
- 在线ASC码查询
- android开发框架afinal使用方法小结
- Raphael一个用于在网页中绘制矢量图形的Javascript库
- jQuery ui 1.7更新小结
- WIN7下网站用localhost可以访问改为ip不可访问如何解决
- Android自定义对话框Dialog的简单实现
- phpmail类发送邮件函数代码
- phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
- Android实战教程第三篇之简单实现拨打电话功能
- 保护眼睛的食物小结