基础方法

 <!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. 【NOIP2017】小凯的疑惑

    原题: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价 ...

  2. wcPro--WordCount扩展

    Github:https://github.com/whoNamedCody/wcPro PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划     ...

  3. BZOJ1821 部落划分[最小生成树]

    方法一:套路性的,二分距离,然后把距离点对距离小于答案的边都联通起来,然后看集合数量超过k说明答案小,增大,否则减小. 方法二:贪心,类kruskal.n个点,k个连通块,则需要有效连接(同一个块内的 ...

  4. Java-UploadHelper工具类

    /** * 上传文件类 */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java. ...

  5. Hadoop-No.11之元数据

    元数据的重要性 三个重要理由,让我们不得不在意元数据 元数据允许用户通过一张表的高一级逻辑抽象,而不是HDFS中文件的简单几何,或者HBase中的表来与数据交互.这意味着用户不比关心数据是如何存储的, ...

  6. Python 读写XML文件

    Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...

  7. 【C#-文件管理】 判断文件夹或文件是否存在,并创建文件夹或文件

    1.判断文件夹是否存在 Directory.Exists(“文件夹路径”)    返回false表示不存在,true表示存在 2.判断文件是否存在 File.Exists("文件路径&quo ...

  8. electron-vue 引入OpenLayer 报错 Unexpected token export

    electron-vue 引入OpenLayer 报错 Unexpected token export 解决办法: 在 .electron-vue/webpack.renderer.config.js ...

  9. 个人签发https证书

    环境: jdk1.8 window7 cmder 1.生成证书库jks keytool.exe -genkeypair -alias www.bingco.com -keyalg RSA ^ -key ...

  10. 三元环HDU 6184

    HDU - 6184 C - Counting Stars 题目大意:有n个点,m条边,问有一共有多少个‘structure’也就是满足V=(A,B,C,D) and E=(AB,BC,CD,DA,A ...