基础方法

 <!DOCTYPE html>
<html>
<body>
<p>类型及转换</p>
<script>
// 正则表达式语法: /正则表达式主体/修饰符(可选)
// 在JavaScript中,正则表达式通常用于4个字符串方法: search()/replace()/match()/split()
// [i]执行对大小写不敏感的匹配;[g]执行全局匹配(查找所有匹配而非在找到第一个匹配后停止);[m]执行多行匹配
var demo1 = "C Java JavaScript";
var pattern1 = /java/ig;
console.log(demo1.search(pattern1)); // 2(与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置)
console.log(demo1.replace(pattern1, "ECMA")); // C ECMA ECMAScript
console.log(demo1.match(pattern1)); // ["Java", "Java"]
console.log(demo1.split(pattern1)); // ["C ", " ", "Script"]
// test()方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false
console.log(/Script/.test(demo1));
// RegExp 对象 下面两个是等价的:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)
var pattern2 = new RegExp("\\w+");
var pattern3 = /\w+/;
</script>
</body>
</html>

Javascript Regexp

 <!DOCTYPE html>
<html>
<body>
<p>正则表达式</p>
<script>
// 查找方括号之间的任何字符
var pattern1 = /[abc]/g;
console.log("acde".match(pattern1)); // ["a", "c"]
console.log("defg".match(pattern1)); // null
// 查找任何不在方括号之间的字符
var pattern2 = /[^abc]/g;
console.log("acde".match(pattern2)); // ["d", "e"]
console.log("acba".match(pattern2)); // null
// 查找单个字符,除了换行和行结束符
var pattern3 = /a.a/ig;
console.log("Java and JavaScript".match(pattern3)); // ["ava", "ava"]
// 查找单词字符(单词字符包括:a-z、A-Z、0-9,以及下划线)
var pattern4 = /\w/g;
console.log("!@#$A%^&*(a2)_".match(pattern4)); // ["A", "a", "2", "_"]
// 查找非单词字符
var pattern5 = /\W/g;
console.log("1@R&*_d".match(pattern5)); // ["@", "&", "*"]
// 查找数字字符
var pattern6 = /\d/g;
console.log("13@R&*_2d".match(pattern6)); // ["1", "3", "2"]
// 查找非数字字符
var pattern7 = /\D/g;
console.log("13@R&*_2d".match(pattern7)); // ["@", "&", "*", "_"]
// 查找空白字符(空白字符可以是:空格符/制表符/回车符/换行符/垂直换行符/换页符)
var pattern8 = /\s/g;
console.log("aa bb ".match(pattern8)); // [" ", " "]
// 查找非空白字符
var pattern9 = /\S/g;
console.log("a 1&".match(pattern9)); // ["a", "1", "&"]
// 匹配单词边界,查找位于单词的开头或结尾的匹配
var pattern10 = /\bjava/ig;
console.log("Java and JavaScript".match(pattern10)); // ["Java", "Java"]
// 匹配非单词边界,匹配位置的上一个和下一个字符的类型是相同的:即必须同时是单词,或必须同时是非单词字符。字符串的开头和结尾处被视为非单词字符
var pattern10 = /\Bscript/ig; // 对字符串中不位于单词开头的'script'进行全局搜索
console.log("Java and JavaScript".match(pattern10)); // ["Script"]
// 查找换行符(NULL字符\0 换页符\f 回车符\r 制表符\t 垂直制表符\v)
var pattern11 = /\n/g;
console.log("Hi,\nI'm Frank.".match(pattern11)); // ["\n"]
// 查找以八进制数xxx规定的字符
var pattern12 = /\111/ig;
console.log("Hi,\nI'm Frank.".match(pattern12)); // ["i", "I"]
// 以十六进制数dd规定的字符
var pattern13 = /\x49/ig;
console.log("Hi,\nI'm Frank.".match(pattern13)); // ["i", "I"]
// 元字符用于查找以十六进制数xxxx规定的 Unicode字符
var pattern14 = /\u0049/ig;
console.log("Hi,\nI'm Frank.".match(pattern14)); // ["i", "I"]
// n+ 量词匹配包含至少一个n的任何字符串(>=1)
var pattern15 = /o+/g;
console.log("book note wooo~".match(pattern15)); // ["oo", "o", "ooo"]
// n* 量词匹配任何包含零个或多个n的字符串(>=0)
var pattern16 = /co*/g;
console.log("cat cookie come".match(pattern16)); // ["c", "coo", "co"]
// n? 量词匹配任何包含零个或一个n的字符串(<=1)
var pattern17 = /co?/g;
console.log("cat cookie come".match(pattern17)); // ["c", "co", "co"]
// n{X} 量词匹配包含X个n的序列的字符串
var pattern18 = /\d{4}/g;
console.log("100, 1000 or 10000?".match(pattern18)); // ["1000", "1000"]
// n{X,} X是一个正整数。前面的模式n连续出现至少X次时匹配
var pattern19 = /\d{4,}/g;
console.log("100, 1000 or 10000?".match(pattern19)); // ["1000", "10000"]
// n{X,Y} X和 Y为正整数。前面的模式 n连续出现至少X次,至多Y次时匹配
var pattern20 = /\d{3,4}/g;
console.log("10, 100, 1000 or 10000?".match(pattern20)); // ["100", "1000", "1000"]
// n$ 量词匹配任何结尾为n的字符串
var pattern21 = /is$/g;
console.log("Is this his".match(pattern21)); // ["is"]
// ^n 量词匹配任何开头为n的字符串
var pattern22 = /^Is/g;
console.log("Is this his".match(pattern22)); // ["Is"]
// ?=n 量词匹配任何其后紧接指定字符串n的字符串
var pattern23 = /Is(?= thi)/g;
console.log("Is this his".match(pattern23)); // ["Is"]
// ?!n 量词匹配其后没有紧接指定字符串 n的任何字符串
var pattern24 = /is(?! all)/ig;
console.log("Is this all there is".match(pattern24)); // ["Is", "is"]
</script>
</body>
</html>

JavaScript(4):正则表达式的更多相关文章

  1. 详解Javascript中正则表达式的使用

    正则表达式用来处理字符串特别好用,在JavaScript中能用到正则表达式的地方有很多,本文对正则表达式基础知识和Javascript中正则表达式的使用做一个总结. 第一部分简单列举了正则表达式在Ja ...

  2. javascript类型系统——正则表达式RegExp类型

    × 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String ...

  3. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  4. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  5. 深入浅出的javascript的正则表达式学习教程

    深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...

  6. JavaScript验证正则表达式大全

    JavaScript验证正则表达式大全,搜集最全的JavaScript验证正则表达式,开始查看吧,这里的都是正则表达式的例子,具体和函数结合的使用方法,还请查看下篇文章<JavaScript使用 ...

  7. 如何使用JavaScript和正则表达式进行数据验证

    利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作,下面与大家分享下如何使用JavaScript和正则表达式进行数据验证,感兴趣的朋友可以参考下哈 数据验证 ...

  8. JavaScript常用正则表达式与应用(一)

    JavaScript的String类和RegExp对象类都定义了相关方法使用正则表达式进行模式匹配,本文将以连载方式介绍JavaScript常用正则表达式与相关应用,欢迎交流 本节是连载一,首先介绍J ...

  9. javascript基础-正则表达式

    概述 正则表达式被用来检索.替换那些符合某个模式的文本 标准正则表达式语法 javascript对正则表达式的支持 替代写法 逆向环视 //需求:替换mpre.cnsuning.com为${pre}, ...

  10. JavaScript中正则表达式判断匹配规则以及常用的方法

    JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...

随机推荐

  1. java8学习之Lambda表达式深入与流初步

    Lambda表达式深入: 在上一次[http://www.cnblogs.com/webor2006/p/8135873.html]中介绍Lambda表达式的作用时,其中说到这点: 如标红处所说,既然 ...

  2. PHP程序员的技能图谱

    PHP知识图谱      

  3. ARDUINO UNO烧录BOOTLOADER

    批量烧录为了速度加快,使用USBASP工具,配合PROGISP软件进行烧录. 因为脱离了ARDUINO IDE,所以需要研究AVR单片机的熔丝位设置问题. 刷ATMEGA32U4芯片,需要这样设置: ...

  4. TXNLP 33-40

    词向量: 回顾基于检索的问答系统 倒排表解决:坑爹的翻译...应该翻译成“反向索引” 常规的索引是文档到关键词的映射: 文档——>关键词但是这样检索关键词的时候很费力,要一个文档一个文档的遍历一 ...

  5. 题解 【BZOJ4700】适者

    题面 解析 看了好多dalao们的题解,然而还是不明白... 于是在想了半天后,决定自己写一篇题解. step 1 首先,分析题意, 应该还是比较容易想到, 要一直攻击一个兵器, 直到破坏它为止. 因 ...

  6. 线段树初步——转载自ljc20020730

    线段树初步   线段树模板1:https://www.luogu.org/problem/show?pid=3372 线段树模板2:https://www.luogu.org/problem/show ...

  7. java中MD5函数

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5U ...

  8. php 调用python接口出现的一系列问题(原)

    调用示例代码(python写的一个谷歌翻译接口): $name = '中国'; exec("/mob360/EditImage/venv/bin/python /EditImage/fany ...

  9. JVM 监控工具——jps

    [参考文章]:[Linux运维入门]Jstatd方式远程监控Linux下 JVM运行情况 1. jps简介 显示系统内所有的HotSpot虚拟机进程. 且只能查看当前用户下的Java进程信息: 2. ...

  10. IDEA找回Run Dashboard

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...