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

***小编要跟大家分享的文章是关于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
非本网作品均来自互联网,转载目的在于传递更多信息,并不**本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其他问题,请及时与本网联系,我们将及时删除内容。