基础方法

 <!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. BZOJ1601 [Usaco2008 Oct]灌水[最小生成树]

    显然分析可知这个图最后连起来是一个森林,每棵树有一个根再算一个代价.那么这些跟需要连向某一点一个建立水库的代价,且根可以有多个但不能没有,则考虑用超级源点0向所有点连虚边,Prim跑MST即可保证有至 ...

  2. 简单了解HTTP协议的基本知识,请求流程、请求方法等

    HTTP 是Hyper Text Transfer Protocol(超文本传输协议)的缩写 1.超文本传输协议是一种详细规定了浏览器和万维网服务器之间互相通信的规则. 2.HTTP协议(HyperT ...

  3. JAVA解压ZIP文件

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...

  4. [Javascirpt] What’s new in JavaScript (Google I/O ’19)

    Private variable in class: class Counter { #count = 0; // cannot be access publicly get value () { r ...

  5. 题解 [USACO Mar08] 奶牛跑步

    [USACO Mar08] 奶牛跑步 Description Bessie准备用从牛棚跑到池塘的方法来锻炼. 但是因为她懒,她只准备沿着下坡的路跑到池塘,然后走回牛棚. Bessie也不想跑得太远,所 ...

  6. 对Sting类型的探讨

    string类型经常和基本数据类型一起被我们熟练运用,但却不被归为基本数据类型,他是特殊的引用类型.引用数据类型还有类,接口.数组.枚举类型和注解类型. 我们来看下jdk对他的解释: String是在 ...

  7. js 获取两个数组的交集,并集,补集,差集

    https://blog.csdn.net/piaojiancong/article/details/98199541 ES5 const arr1 = [1,2,3,4,5], arr2 = [5, ...

  8. 小程序开发之后台mybatis逆向工程(二)

    上一节搭建好了SSM后台框架,这一节将根据表结构创建实体及映射文件以及mapper接口.如果表过多,会很麻烦,所以mybatis提供了逆向工程来解决这个问题. 上一节 SSM搭建后台管理系统 逆向工程 ...

  9. HDU 3826 Squarefree number ( 唯一分解定理 )

    题目链接 题意 : 给出一个数.问其能不能被任何一个平方数整除.如果可以则输出 No 即不是 Square-free Number .否则输出 Yes 分析 : 首先 N 有 1e18 那么大.不能暴 ...

  10. 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)

    P1800 software_NOI导刊2010提高(06) 标签 二分答案 难度 普及/提高- 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每 ...