欢迎进入教育资讯网!
当前页面: 首页 > 电脑IT培训 > Web前端 > 真的绝了!这篇JS常用正则表达式讲的太好了!

真的绝了!这篇JS常用正则表达式讲的太好了!

来源:教育资讯网 27 2021-07-27

  ***小编要跟大家分享的文章是关于Web前端工程师要知道的JS

  常用正则表达式。正则表达式或“regex”用于匹配字符串的各个部分,***小编就为大家分享一些创建正则表达式的备忘单,供大家学习参考,希望能够对大家有所帮助。

  1、匹配正则

  使用.test()方法

  lettestString=""Myteststring"";

  lettestRegex=/string/;

  testRegex.test(testString);

  2、匹配多个模式

  使用操作符号|

  constregex=/yes|no|maybe/;

  3、忽略大小写

  使用i标志表示忽略大小写

  constcaseInsensitiveRegex=/ignorecase/i;

  consttestString='WeusetheiflagtoiGnOrECasE';

  caseInsensitiveRegex.test(testString);//true

  4、提取变量的***个匹配项

  使用.match()方法

  constmatch=""HelloWorld!"".match(/hello/i);//""Hello""

  5、提取数组中的所有匹配项

  使用g标志

  consttestString=""RepeatrepeatrePeAT"";

  constregexWithAllMatches=/Repeat/gi;

  testString.match(regexWithAllMatches);//[""Repeat"",""repeat"",""rePeAT""]

  6、匹配任意字符

  使用通配符.作为任何字符的占位符

  //Tomatch""cat"",""BAT"",""fAT"",""mat""

  constregexWithWildcard=/.at/gi;

  consttestString=""catBATcupcakefATmatdog"";

  constallMatchingWords=testString.match(regexWithWildcard);//[""cat"",""BAT"",""fAT"",""mat""]

  用多种可能性匹配单个字符

  ·使用字符类,你可以使用它来定义要匹配的一组字符

  ·把它们放在方括号里[]

  //匹配""cat""""fat""and""mat""但不匹配""bat""

  constregexWithCharClass=/[cfm]at/g;

  consttestString=""catfatbatmat"";

  constallMatchingWords=testString.match(regexWithCharClass);//[""cat"",""fat"",""mat""]

  7、匹配字母表中的字母

  使用字符集内的范围[a-z]

  constregexWidthCharRange=/[a-e]at/;

  constregexWithCharRange=/[a-e]at/;

  constcatString=""cat"";

  constbatString=""bat"";

  constfatString=""fat"";

  regexWithCharRange.test(catString);//true

  regexWithCharRange.test(batString);//true

  regexWithCharRange.test(fatString);//false

  8、匹配特定的数字和字母

  你还可以使用连字符来匹配数字

  constregexWithLetterAndNumberRange=/[a-z0-9]/ig;

  consttestString=""Emma19382"";

  testString.match(regexWithLetterAndNumberRange)//true

  9、匹配单个未知字符

  要匹配您不想拥有的一组字符,使用否定字符集^

  constallCharsNotVowels=/[^aeiou]/gi;

  constallCharsNotVowelsOrNumbers=/[^aeiou0-9]/gi;

  10、配一行中出现一次或多次的字符

  使用+标志

  constoneOrMoreAsRegex=/a+/gi;

  constoneOrMoreSsRegex=/s+/gi;

  constcityInFlorida=""Tallahassee"";

  cityInFlorida.match(oneOrMoreAsRegex);//['a','a','a'];

  cityInFlorida.match(oneOrMoreSsRegex);//['ss'];

  11、匹配连续出现零次或多次的字符

  使用星号*

  constzeroOrMoreOsRegex=/hi*/gi;

  constnormalHi=""hi"";

  consthappyHi=""hiiiiii"";

  consttwoHis=""hiihii"";constbye=""bye"";

  ormalHi.match(zeroOrMoreOsRegex);//[""hi""]

  happyHi.match(zeroOrMoreOsRegex);//[""hiiiiii""]

  twoHis.match(zeroOrMoreOsRegex);//[""hii"",""hii""]

  bye.match(zeroOrMoreOsRegex);//null

  12、惰性匹配

  ·字符串中与给定要求匹配的**小部分

  ·默认情况下,正则表达式是贪婪的(匹配满足给定要求的字符串的**长部分)

  ·使用?阻止贪婪模式(惰性匹配)

  consttestString=""catastrophe"";

  constgreedyRexex=/c[a-z]*t/gi;

  constlazyRegex=/c[a-z]*?t/gi;testString.match(greedyRexex);//[""catast""]testString.match(lazyRegex);//[""cat""]

  13、匹配起始字符串模式

  要测试字符串开头的字符匹配,请使用插入符号^,但要放大开头,不要放到字符集中

  constemmaAtFrontOfString=""Emmalikescatsalot."";

  constemmaNotAtFrontOfString=""ThecatsEmmalikesarefluffy."";

  conststartingStringRegex=/^Emma/;

  startingStringRegex.test(emmaAtFrontOfString);//true

  startingStringRegex.test(emmaNotAtFrontOfString);//false

  14、匹配结束字符串模式

  使用$来判断字符串是否是以规定的字符结尾

  constemmaAtBackOfString=""ThecatsdonotlikeEmma"";

  constemmaNotAtBackOfString=""Emmalovesthecats"";

  conststartingStringRegex=/Emma$/;

  startingStringRegex.test(emmaAtBackOfString);//truestartingStringRegex.test(emmaNotAtBackOfString);//false

  15、匹配所有字母和数字

  使用\word简写

  constlongHand=/[A-Za-z0-9_]+/;

  constshortHand=/\w+/;constnumbers=""42"";

  constmyFavoriteColor=""magenta"";

  longHand.test(numbers);//true

  shortHand.test(numbers);//true

  longHa

  constnonDigitsRegex=/\D/g;

  conststringWithLetters=""101degrees"";

  stringWithLetters.match(nonDigitsRegex);//["""",""d"",""e"",""g"",""r"",""e"",""e"",""s""]

  d.test(myFavoriteColor);//true

  shortHand.test(myFavoriteColor);//true

  16、除了字母和数字,其他的都要匹配

  用\W表示\w的反义

  constnoAlphaNumericCharRegex=/\W/gi;

  constweirdCharacters=""!_$!!"";

  constalphaNumericCharacters=""ab283AD"";

  oAlphaNumericCharRegex.test(weirdCharacters);//true

  oAlphaNumericCharRegex.test(alphaNumericCharacters);//false

  17、匹配所有数字

  你可以使用字符集[0-9],或者使用简写\d

  constdigitsRegex=/\d/g;

  conststringWithDigits=""Mycateats$20.00worthoffoodaweek."";

  stringWithDigits.match(digitsRegex);//[""2"",""0"",""0"",""0""]

  18、匹配所有非数字

  用\D表示\d的反义

  19、匹配空格

  使用\s来匹配空格和回车符

  constsentenceWithWhitespace=""Ilikecats!""

  varspaceRegex=/\s/g;

  whiteSpace.match(sentenceWithWhitespace);//["""",""""]

  20、匹配非空格

  用\S表示\s的反义

  constsentenceWithWhitespace=""Cat""

  constnonWhiteSpaceRegex=/\S/g;

  sentenceWithWhitespace.match(nonWhiteSpaceRegex);//[""C"",""a"",""t""]

  21、匹配字符数

  你可以使用{下界,上界}指定一行中的特定字符数

  constregularHi=""hi"";constmediocreHi=""hiii"";

  constsuperExcitedHey=""heeeeyyyyy!!!"";

  constexcitedRegex=/hi{1,4}/;

  excitedRegex.test(regularHi);//true

  excitedRegex.test(mediocreHi);//true

  excitedRegex.test(superExcitedHey);//false

  22、匹配比较低个数的字符数

  使用{下界,}定义**少数量的字符要求,下面示例表示字母i至少要出现2次

  constregularHi=""hi"";

  constmediocreHi=""hiii"";

  constsuperExcitedHey=""heeeeyyyyy!!!"";

  constexcitedRegex=/hi{2,}/;

  excitedRegex.test(regularHi);//false

  excitedRegex.test(mediocreHi);//true

  excitedRegex.test(superExcitedHey);//false

  23、匹配精确的字符数

  使用{requiredCount}指定字符要求的确切数量

  constregularHi=""hi"";

  constbestHi=""hii"";

  constmediocreHi=""hiii"";

  constexcitedRegex=/hi{2}/;

  excitedRegex.test(regularHi);//false

  excitedRegex.test(bestHi);//true

  excitedRegex.test(mediocreHi);//false

  24、匹配0次或1次

  使用?匹配字符0次或1次

  constbritishSpelling=""colour"";

  constamericanSpelling=""Color"";

  constlanguageRegex=/colou?r/i;

  languageRegex.test(britishSpelling);//true

  languageRegex.test(americanSpelling);//true

免责声明

非本网作品均来自互联网,转载目的在于传递更多信息,并不**本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其他问题,请及时与本网联系,我们将及时删除内容。

猜你喜欢

热点排行榜

教育部即将调整中小学上课时间,学生真的高兴坏了!
教育,是任何一个国家和民族的未来。如果没有了教育,那么这个国家和民族未来也会以前黑暗。随着知识在社会中的作用越来越大,人们也越来越重视教育。尤其是家长,为了能让孩子学习好,对于教育的投资可以说是不计代价!在许多人都越来越注重学习成绩的同时,孩子的学习压力却是越来越大,有的时候甚至孩子的睡眠时间都会严重不足。 如此一来虽然看似是孩子的学习成绩进步了,但是却严重影响了孩子的正常健康发育。如此
来看看在双减政策后,到底公立学校和私立学校有什么差距?
大部分的中小学生,都会选择在公立学校接受义务教育,但是随着教育“内卷”的情况越来越严重,不少学生家长会选择将孩子送到私立学校去上学,在这样的情况之下,中小学生的学习压力也越来越大,因此中小学生在上学的过程中,也会觉得非常疲惫。这种状态不仅不利于学生们提高学习成绩,更不利于学生们成长,因此相关部门也是引起了高度重视。 随着“双减”政策的实行,学生们的学习压力也在逐渐减小,“双减”实行后,公
为了推行三胎,课本的封面也变成三胎了,来看看人社部怎么说的~
开学没几天,网络上就开始流传着热心家长们对语文课本的“新发现”:一年的时间,课本封面由二胎变成了三胎,妈妈也不打扮了,头发随便一扎,衣服还是去年那件,只是旧了。多了个娃,爸爸也不在家下棋了,估计为了养家加班挣钱去了。家长们口中的两个封面分别是统编语文教材五年级上册、六年级上册封面。这段“看图说话”因为贴近“三胎”的社会热点,迅速引发了众多网友的共鸣、转发。人民教育出版社在其公众号上进行了“辟谣”:
清华北大亚洲***排名来啦!泰晤士公布了2022世界大学排名结果!
综合报道,当地时间2日,泰晤士高等教育特刊(Times Higher Education,简称THE)更新了***2022年THE世界大学排名。中国高校排名再次上升,***有两所大学进入前20名,创下亚洲比较好纪录。根据新发布的排名,北大和清华并列第16名,这是***中国有两所大学进入前20名,也亚洲国家迄今为止的比较高排名。此外,中国内地共有10所大学进入前200名。根据排名,牛津大学连续6年位列***。美
怎么选择美国留学中介?选的时候一定要清醒!
此篇文章会把下面很多问题中的内容阐述的逻辑层次更简单分明一些,假使同学们如果没有太多时间,不妨粗略阅读下面的问题,大概了解下!我计划去美国留学入读硕士,想请教一下如何选择美国留学中介机构呢?美国留学中介选择策略:衡量自己的消费者心理选择美国留学中介机构请务必要依据你的需求进行相关选择。首先你需要询问自己,你申请是要干什么呢?这个问题就像是购买衣服和鞋,你买运动鞋,就不会去西装店。美国留学作为一个很
英语的单词怎么写才好看?学会这几个小习惯,你也能写的好看!
英语学习重视听说读写,其中的写作涉及标准的写作规范。以下是英语单词写法的介绍,供参考。1.倾斜。每个字母稍微向右倾斜,大约在5°~20°之间,但每个字母的倾斜必须一致,所以很漂亮。2.大写字母。大写字母都一样高,占上面的两个格子,顶部面向***条线。3.小写字母。中间一格小写字母a、c、e、m、n、o、r、s、u、v、w、x、z写在中间一格中,上下抵抗,但不及格。小写字母B、D、H、K、L上端顶**
乐读推出一年级20人在线小班:通过小班教学 建构积极有效的师生互动
随着全国各地中小学和幼儿园秋季开学时间的确定,幼小、初小衔接又成了热点话题,但究竟要如何“衔接”,并不是每位家长都有科学的认识。乐读20人在线小班面向一年级孩子,激发兴趣、培养习惯,希望科学有效地帮助孩子适应小学学习生活,实现从幼儿教育阶段到小学教育阶段的顺利过渡。从孩子喜闻乐见的事物入手,培养学习的兴趣小学生活泼好动,注意力持续时间短,不少孩子初入小学课堂可能会出现发呆、坐不住的情况。据此,家长
学而思网校的线下校区即将关闭,只因房租成本过高!
9月27日消息,据媒体报道,学而思老师群内告知家长,因运营成本过高,不足以支撑面授班运营,所有面授课转为在线班。并统一在10月9日中午12:00开启转线上功能。此外,多名学而思工作人员均表示线下校区将会关闭。业内人士指出,在高额的房租下,退租关店也许是**理智的做法。目前线下教培机构在节假日、休息日及寒暑假的营收能占到全年收入的一半以上,但是现在不让上课,商业模型该怎么搭,目前很多线下机构恐怕还没想
教育部又来消息了,以后这类竞赛要被管理了!速来看看!
9月23日,教育部举行新闻通气会,介绍规范校外培训机构管理制度建设有关情况。会上,教育部校外教育培训监管司负责人介绍,“双减”工作是一项长期性复杂性系统性的工程,必须注重当前和长远相统一,研究修订竞赛管理办法,将治理打着“国际”旗号的各类竞赛。教育部校外教育培训监管司负责人表示,加快预收费监管、加强培训机构党建等其他配套政策法规的制订进度。同时完善“营改非”流程,进一步明确过程中的公示期限、资产确
各大高校开学了,清华大学开学典礼的主题演讲走红了,这个主题真不错!
9月是开学季,很多人带着对大学的憧憬迈入校园。在清华大学开学典礼上,一段开学演讲走红。教师**梅赐琪没有讲成功,而是讲失败。在他看来,与成功相比,失败能带给人更多可能性。以下是演讲全文:首先请允许我**我的同事们向***(9月2日)入学的2021级同学们表示**热烈的祝贺!每一级的清华人都是特殊的,但是你们还是要更特殊一些。在人类和七种冠状病毒的遭遇之中,你们中的绝大多数见证了其中**危险的两次,一次懵