`
weiqiang.yang
  • 浏览: 154707 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

JavaScript中的正则表达式操作

阅读更多
总是搞混RegExp对象的方法和字符串正则方法,整理备忘一下,抄自JavaScript权威指南
var reg = new RegExp("[a-zA-Z]+", "gi");// 或者
var rex  = /[a-zA-Z]+/gim;


RegExp对象方法
1. exec(string)
返回:返回单个匹配,和详细信息
var pattern = /Java/g;
var text = "JavaScript is mor fun than Java!";
var result = pattern.exec(text);
while(result != null){
    console.log("match "+result[0]+" start at "+result.index+", end at "+pattern.lastIndex);
    result = pattern.exec(text);
}


2. test(string)
返回:如果字符串中含有匹配正则表达式的字符串,那么返回true,如果不包含,那么返回false
var reg = /java/i;
console.log(reg.test("welcome to JavaScript"));
// 加上^和$限定就可以用来判定整个字符串是否符合正则表达式
console.log(/^\s*$/.test(""));
console.log(/^\s*$/.test(" 1"));
console.log(/^\s*$/.test("1 "));
console.log(/^\s*$/.test(" 1 "));
console.log(/^\s*$/.test("1 1"));



字符串对象方法

1. search(regexp)
返回:第一个匹配的位置,或者-1
举例:
"JavaScript".search(/script/i); // return 4

search不支持“g”标记,会直接忽略

2. replace(regexp, "replacement");
返回: 替换后的字符串
举例:
"Javascript is javascript".replace(/javascript/gi, "JavaScript");


如果没有设置"g"标记,那么只替换第一个匹配的字符串,如果设置了"g"标记,那么会替换所有匹配到的字符串
"Javascript is not javascript".replace(/javascript/i, "JavaScript"); // "JavaScript is not javascript"


可以使用反向引用已匹配到的字符串,如
"var a=1234;".replace(/([a-z]+)=(\d+)/gi, "$1 = $2");// 轻松补上空格


3. match(regexp)
返回:正则表达式匹配的字符串列表
"1 + 2 = 3".match(/\d+/g);// ["1", "2", "3"]

如果设置了g标记,那么返回字符串中所有的匹配
如果没有设置g标记,那么只查找第一个匹配,但是返回结果依然是一个列表,list[0]包含匹配的整个字符串, list[1]...list[n]包含第n个分组
var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
var text = "visit http://www.google.com/codeSearch";
var list = text.match(url);
if(list != null){
    console.log(list[0]);
    console.log(list[1]);
    console.log(list[2]);
    console.log(list[3]);
}

4. split(regexp) <-- 还支持参数为字符串
返回:根据正则表达式分割后的字符串列表
举例:
"123,456,789".split(","); // ["123", "456", "789"]
"123  ,  456  , 789".split(/\s*,\s*/); // ["123", "456", "789"]  

   
1
1
分享到:
评论

相关推荐

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    常用的JavaScript验证正则表达式应用规则

    操作符的基本意义就是“或”运算。要匹配“toon”,使用“tn”正则...在正则表达式中,连字符有着非凡的意义,它表示一个范围,比如从0到9。因此,匹配社会安全号码中的连字符号时,它的前面要加上一个转义字符““”。

    javascript的正则表达式

    正则表达式就是专门为了校验数据而产生的一个语法,除了可以校验数据,还可以提取一些想要的固定模式数据,还可以替换数据 – 替换字符串(正则表达式主要用于字符串的处理 ) 正则表达式就是一个模式,可以用来校验...

    正则表达式

    我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非 字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换...

    正则表达式学习-正则语法

    正则表达式常用于字符串的搜索、替换、分割和校验等操作。 正则表达式由普通字符(例如,字母和数字)和特殊字符(称为“元字符”)组成。以下是一些常用的正则表达式元字符和它们的作用: .:匹配除换行符以外的...

    JavaScript使用正则表达式获取全部分组内容的方法示例

    主要介绍了JavaScript使用正则表达式获取全部分组内容的方法,结合实例形式分析了javascript正则匹配的相关操作技巧,需要的朋友可以参考下

    彩虹微叶论坛易语言专题教程(一)正则表达式

    C#、Java、C++、VB、Javascript、Ruby等)、数以亿万计的各种应用软件中,都可以看到正则表达式优美的舞姿。(百度百科)。正则表达式基本上应用在目前主流语言上,学了,是很有用,不仅仅只是易语言。二、正则的...

    正则表达式30分钟入门教程

    • Javascript正则表达式在线测试工具 如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。由于难于读写,容易出错,...

    正则表达式匹配工具——主流的开发语言(C#、Java、C++、VB、Ruby以及Python等)

    那么你会在主流操作系统(*nix[Linux, Unix等]、Windows、HP、BeOS等)、主流的开发语言(delphi、Scala、PHP、C#、Java、C++、Objective-c、Swift、VB、Javascript、Ruby以及Python等)、数以亿万计的各种应用软件...

    javascript学习笔记(八)正则表达式

    正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: [copy]检查文本中是否含有指定的特征词 找出文中匹配特征词的位置 从文本中提取信息,比如:字符串的子

    正则表达式测试工具

    使用了多种正则表达式测试工具,发现这个工具界面简单、操作方便。对初学者最为合适。

    javascript 基于正则表达式的文本框验证代码

    js验证文本框内容,以前jb51.net提供过不少是基于js函数版本的,这里提供一些正则表达式版本,大家学习归学习,最好是基于函数的绑定操作。代码分离技术。

    JavaScript 正则表达式之RegExp属性、方法及应用分析

    RegExp对象(至今为止我看到过的最通俗易懂和深入的正则表达式教程)JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的...

    正则表达式手册,Regular Expression

    一个轻量级的正则表达式手册,对做Javascript开发, 或者使用JAVA做字符串的操作非常有用。

    JS使用正则表达式获取小括号、中括号及花括号内容的方法示例

    本文实例讲述了JS使用正则表达式获取小括号、中括号及花括号内容的方法。分享给大家供大家参考,具体如下: JS 正则表达式 获取小括号 中括号 花括号内的内容 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;...

    正则表达式实现添加、删除、替换三种功能

    下面的代码呢实现了通过用正则表达式来对某一个句子的添加、替换、删除三种操作,不知道这个适不适合大家的口味,反正小编已经做好让公司头批评的准备了,因此小编是在是现学不来呀。 # -*- conding:utf-8 -*- ...

    javascript正则表达式总结

    Regexpal是一个在线Javascript正则表达式处理器,地址是:http://www.regexpal.com 学习正则重要的是实践操作,不妨举个栗子: 匹配号码:707-827-7019 字符组匹配 [0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]...

    JS基于正则表达式实现的密码强度验证功能示例

    主要介绍了JS基于正则表达式实现的密码强度验证功能,涉及javascript事件响应及基于正则的字符遍历、判断等相关操作技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics