1、JS方法和单词查找

Regex.test(String), String.match(regex).

  • JS的.test()方法可以匹配字符串内是否存在表达式。【严格匹配】
var myString = "Hello, World!";
var myRegex = /Hello/;
var result = myRegex.test(myString); //判断myString中是否存在myRegex
console.log(result);
  • 正则表达式严格区分大小写
正则表达式/Loen/不会匹配"loen"或者"LOEN"
  • 可以用 | 同时匹配多个字符串
var petString = "Loen has a pet cat.";
var petRegex = /dog|cat|bird|fish/; // 修改这行
var result = petRegex.test(petString);
console.log(result);
  • 在后缀中加上i可以忽略大小写匹配
var myString = "w3cschool APP";
var testRegex = /w3cschool/i; // 修改这行
var result = testRegex.test(myString);
console.log(result);
  • 可以用.match()方法提取字符串中的单词。
var extractStr = "Extract the word 'coding' from this string.";
var codingRegex = /coding/; // 修改这行
var result = extractStr.match(codingRegex); // 修改这行
console.log(result);//找到coding的位置
  • 加上g标志可以提取出字符串中所有的该单词而不只是第一个。
var twinkleStar = "Twinkle, twinkle, little star";
var starRegex = /Twinkle/ig; // 修改这行
var result = twinkleStar.match(starRegex); // 修改这行
console.log(result);//忽略大小写,找出3个twinkle的位置

2、简单匹配规则(匹配任意或指定字符,匹配任意次)

  • 可以使用符号.来代表任意一个字符【随便匹配】
var exampleStr = "Let's have fun with regular expressions!";
var unRegex = /.un/; // 修改这行
var result = unRegex.test(exampleStr);
console.log(result);//"hug"、"huh"、"hut"和"hum"都可以
  • 可以用[ ] 匹配可行字符【模糊匹配】
var quoteSample = "When you were born,you were crying and everyone around you was smiling.";
var vowelRegex = /[aeiou]/ig; // 修改这行
var result = quoteSample.match(vowelRegex); // 修改这行
console.log(result);//匹配字符串中所有的元音字母(含大小写)
  • 可以使用[-]来简化写法。
var quoteSample = "The quick brown fox jumps over the lazy dog.";
var alphabetRegex = /[a-z]/ig; // 修改这行
var result = quoteSample.match(alphabetRegex); // 修改这行
console.log(result);//匹配字符串中所有的字母
  • 可以用[-]同时匹配字母表和数字表。
var quoteSample = "Blueberry 3.141592653s are delicious.";
var myRegex = /[h-s2-6]/ig; // 修改这行
var result = quoteSample.match(myRegex); // 修改这行
console.log(result);//匹配字符串中所有的字母数字(h-s, 2-6)
  • 可以使用^选择不要的字符【除掉某些】
var quoteSample = "3 blind mice.";
var myRegex = /[^aeiou0-9]/ig; // 修改这行
var result = quoteSample.match(myRegex); // 修改这行
console.log(result);//匹配字符串中不是元音字母和数字的所有字符
  • 使用+允许某个字符出现任意次(大于1次)
var difficultSpelling = "Mississippi";
var myRegex = /s+/ig; // 修改这行
var result = difficultSpelling.match(myRegex);
console.log(result);//可以找到s, ss, sss都行。
  • 使用*允许某个字符出现任意次(可以为0次)
var chewieQuote = "Aaaaaaaaaaaaaaaarrrgh!";
var chewieRegex = /Aa*/; // 修改这行代码
var result = chewieQuote.match(chewieRegex);
console.log(result);//匹配A后面的0个或多个a
  • 可以在*号后面加个?令匹配到的字符串是最短的(否则是最长的)
//返回以t开始,以i结束,并且中间有一些字母的匹配模式
var str = "titanic";
var regex1 = /t[a-z]*i/;
var regex2 = /t[a-z]*?i/;
console.log( str.match(regex1) ); // 返回为 ["titani"]
console.log( str.match(regex2) ); // 返回 ["ti"]//返回<h1>W...</h1>或者<h1>
var text = "<h1>Winter is coming</h1>";
var myRegex = /<.*?>/; // 修改这行
var result = text.match(myRegex);
console.log(result);
  • 使用{}指定出现字符的次数(*表示大于等于0次,+表示大于1次, {}指定次数)
var ohStr = "Ohhh no";
var ohRegex = /Oh{3,6}\sno/; // 修改这行
var result = ohRegex.test(ohStr);
console.log(result);//上下界可以省去只写一半,逗号不要去掉
var haStr = "Hazzzzah";
var haRegex = /Haz{4,}ah/; // 修改这行,Hazzah,包含4个或更多z
var result = haRegex.test(haStr);
console.log(result);//否则会变成精确数量, 包含4个m的Timber。
var timStr = "Timmmmber";
var timRegex = /Tim{4}ber/; // 修改这行
var result = timRegex.test(timStr);
console.log(result);

3、简单规则匹配2(开头结束文本串,元字符化简)

  • 在字母表之外使用 ^ 表示找是否存在以后面完整文本开头的字符串
var firstString = "Loen is first and can be found.";
var firstRegex = /^Loen/;
console.log( firstRegex.test(firstString) ); // 返回 true
var notFirst = "You can't find Loen now.";
console.log( firstRegex.test(notFirst) ); // 返回 falsevar rickyAndCal = "Cal and Ricky both like racing.";
var calRegex = /^Cal/; // 修改这行
var result = calRegex.test(rickyAndCal);
console.log(result);
  • 在字母表之外使用 $ 表示找是否存在以后面完整文本结束的字符串
var theEnding = "This is a never ending story";
var storyRegex = /story$/;
console.log( storyRegex.test(theEnding) ); // 返回 true
var noEnding = "Sometimes a story will have to end";
console.log( storyRegex.test(noEnding) ); // 返回 falsevar caboose = "The last car on a train is the caboose";
var lastRegex = /caboose$/; // 修改这行
var result = lastRegex.test(caboose);
console.log(result);
  • 可以使用\w代表[A-Za-z0-9_]化简匹配所有的字母数字
var quoteSample = "The five boxing wizards jump quickly.";
var alphabetRegexV2 = /\w/g; // 修改这行
var result = quoteSample.match(alphabetRegexV2);
console.log(result);
//计算所有引号中字母和数字字符的数量
  • 可以使用\d代表[0-9]化简匹配所有的数字
var movieName = "2001: A Space Odyssey";
var numRegex = /\d/g; // 修改这行
var result = movieName.match(numRegex);
console.log(result);//计算所有引号中数字字符的数量
  • 可以使用\s化简匹配所有的空格,换行,制表符
var sample = "Whitespace is important in separating words";
var countWhiteSpace = /\s/g; // 修改这行
var result = sample.match(countWhiteSpace);
console.log(result);//计算所有引号中空格字符的数量

3、语法的简单应用

  • 使用先行断言(?=…)判断字符串是否满足某种格式
//大于5个字符且有两个连续数字的密码,并且不能以数字开头
var sampleWord = "astronaut";
var pwRegex = /^(?=\w{5,})(?=\D+\d\d)/; // 修改这行
var result = pwRegex.test(sampleWord);
console.log(result);//3 到 6 个字符且至少包含一个数字
var password = "abc123";
var checkPass = /(?=\w{3,6})(?=\D*\d)/;
console.log( checkPass.test(password) ); // 返回 true
  • 使用(|)来包含两种文本都可的情况,使用.*忽略中间字符
var myString = "Eleanor Roosevelt";
var myRegex = /(Franklin|Eleanor).*Roosevelt/; // 修改这行
var result = myRegex.test(myString); // 修改这行
console.log(result);
  • 使用捕获组()\1重用任意次括号内的表达式,化简重新写表达式
//匹配在字符串中仅重复三次的数字,每一个都由空格分隔
var repeatNum = "42 42 42";
var reRegex = /^(\d+)\s\1\s\1$/; // 修改这行
var result = reRegex.test(repeatNum);
console.log(result);//匹配任意两个被空格分割的单词
var repeatStr = "regex regex";
var repeatRegex = /(\w+)\s\1/;
console.log( repeatRegex.test(repeatStr) ); // 返回 true
console.log( repeatStr.match(repeatRegex) ); // 返回 ["regex regex", "regex"]
  • 编写一个正则表达式并使用适当的字符串方法删除字符串开头和结尾的空格。
var hello = "   Hello, World!  ";
var wsRegex = /^(\s+)(.+[^\s])(\s+)$/;//任意个空格开始,任意个空格结束,中间是任意字符任意多个且中间最后一个不为空格
var result = hello.replace(wsRegex, '$2');
console.log(result);

摸鱼完成,足够的水。

【w3cschool】正则表达式基础语法相关推荐

  1. 前端学PHP之正则表达式基础语法

    前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本 ...

  2. java 正则表达式语法_Java 正则表达式基础语法

    基础符号 首尾匹配^:匹配输入字符串开始的位置 $:匹配输入字符串结尾的位置 例:"^hello$"含义为该字符串开头必须为h,结尾必须为oprivate static void ...

  3. 万物之始正则表达式全解析三部曲(上篇)-正则表达式基础知识及语法

    前言 各位小伙伴大家好,接下来几天时间,我会从多个角度对正则表达式进行系统阐述,让你了解正则表达式的前世今生. 以下是博主整理的Linux知识专栏,喜欢的小伙伴可根据自己的需求自行订阅. Linux疑 ...

  4. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

  5. 正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法

    正则表达式的基本概念及用途了解之后,我们就来学习下具体的语法,先以一个简单的例子来讲解. 基础语法: 比如,A1单元格中有一串字符:aabbccddaabbcc,我们要把其中的a找到,然后替换成o. ...

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

    前面的话 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为 ...

  7. Java正则表达式基础案例和语法

    正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...

  8. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  9. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

最新文章

  1. Map的分类和不同的应用场景
  2. php图片特效,php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
  3. Codeforces Round #278 (Div. 2)
  4. python 检测四边形,并矫正
  5. ALV 层级分组显示报表
  6. iis8 php mysql_windows2012下 iis8+php5.2+mysql5 配置
  7. Java黑皮书课后题第7章:7.16(执行时间)编写程序,随机产生一个包含100 000个整数的数组和一个关键字。估算调用程序清单7-6中的linearSearch方法的执行时间
  8. Goodbye 2020,Welcome 2021 | 沉淀 2021
  9. sensor_msgs::PointCloud2转换pcl::PCLPointCloud2 pcl::PointXYZ
  10. java代码格式_java 代码的基本格式
  11. Mac上制作Mac os10.12.6启动盘的多次尝试
  12. COGS.1689.[HNOI2010]Bounce 弹飞绵羊(分块)
  13. 网易云信IMweb版集成实现(PHP直接上码)
  14. 文件 打包 及 生成Excel文件转PDF格式和Excsl文件格式一体数据
  15. Addressable编辑器相关开发问题
  16. 亚马逊多账号防关联的解决方式
  17. 时间序列分析教程(一):基本性质
  18. 《起跑吧,Opa》 -- 中译本 第一章 初识Opa
  19. 我们遭遇攻击——2004全球信息安全调研
  20. 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据

热门文章

  1. GAN(Generative Adversarial Networks) 初步
  2. Python 数据结构与算法 —— 链表
  3. Shell 操作(一)
  4. Java基础通信_Java网络通信基础编程(必看篇)
  5. python入门指南-python3.6.0入门指南(官方版).pdf
  6. python教程我要自学网-我要自学网--json 数据解析-python。
  7. python工资这么高为什么不学-Python为什么这么火 Python岗位薪资水平如何
  8. python基础教程菜鸟教程-Python 基础教程
  9. python菜鸟教程100例-Python 基础教程 | 菜鸟教程
  10. 10个PHP常见安全问题(实例讲解)