手机版

如何快速学习正则表达式?

时间:2021-10-31 来源:互联网 编辑:宝哥软件园 浏览:

正则表达式的概念

正则表达式,又称正则表达式和正则表达式(英语:正则表达式,在代码中常缩写为regex、regexp或re),是计算机科学的一个概念。正则表达式使用单个字符串来描述和匹配一系列符合特定语法规则的字符串。在许多文本编辑器中,正则表达式通常用于检索和替换符合特定模式的文本。

在日常工作中,我们经常写正则表达式。例如,我们经常在表单中使用正则表达式来验证用户输入的格式是否正确。正则表达式可以看作是一种可以描述问题的语言,是专门为模式匹配而设计的。

-

正则表达式的语法。

正则表达式可以简单粗暴地理解为寻找东西。比如在《Hello world》中找“World”这个词,首先要用直白的语言来描述,就是找“w开头到d结尾的字母组合”,用常规的方式描述为\bw\w*d\b,这是一个模式字符串,由元字符和文字字符组成。

的常见元字符如下:

正则表达式中的标志。

正则表达式中的转义字符。

JS中的正则表达式。

两种生成模式,

示例:是否出现匹配0-9?

复制代码如下:1。pass regexp varreg=new regexp('[0-9]',' g ');2、通过字面表达式var reg=/[0-9]/g;

两种常用的方法。

test()、exec()

复制代码如下:1。测试方法:如果输入字符串与模式匹配,测试返回true,如果不匹配,则返回false。2.exec方法:如果输入字符串与模式匹配,则返回一个数组,如果不匹配,则返回null。

/*test()方法来匹配是否出现0-9 */varreg 1=/[0-9];reg1.test('没有数字');//结果为false/*exec()方法,与句子中的单词匹配,组中有两个单词*//*未设置全局标志*/var reg 2=/(\ w)\ s(\ w)/;reg2.test('没有数字');//返回结果['有','有','有']//第0个元素是匹配的字符串,后面两个元素是组引用/* set global flag */var reg 3=/(\ w)\ s(\ w)/g的子字符串;reg3.test('没有数字');//如果设置了全局标志,exec()会发现//结果第一次是['有','有','有'],第二次是['无号','无','号'],第三次是null exec()。如果设置了全局标志,则必须在循环中手动使用。否则它将间隔匹配。

字符串对象和正则表达式。

字符串对象中有许多以正则表达式对象为参数的方法。

属性描述匹配(regexp)返回正则表达式的匹配结果regexp replace (searchValue,replaceValue)将搜索值(正则表达式或字符串值)替换为replace value,并返回响应字符串search(regexp)返回正则表达式匹配位置的regexp的下标,如果没有匹配,则返回-1 split(separator,limit),将字符串除以参数分隔符(string或正则表达式),并返回字符串数组。方法将返回一个字符串数组,该数组的元素与模式匹配。设置全局标志时,它将返回与模式匹配的所有字符串数组,如果没有设置,这与exec方法相同。

应用示例:

var text=' abc def ghi jkl//设置全局标志text . match(/\ w/g);//['abc ',' def ',' ghi ',' jkl']//不设置全局标志text . match(/(\ w)\ s(\ w)/);//['abcdef ',' abc ',' def ']replace方法返回被替换的字符串。如果设置了全局标志,将替换所有匹配的字符串;否则,将只替换第一个匹配的字符串。在替换中,如果第一个参数使用分组,第二个参数可以通过符号识别分组的前向参考

应用示例:

var text=' abc def ghi jkl//将空格替换为字符text.replace(/\s/,',');//'abc,def ghi jkl'text.replace(/\s/g,',');//'abc,def,ghi,jkl'//将空格前的字符分组,用逗号替换,并向前移动一个文本。)\s/g ',$ 1 ';//‘AB,CDE,FGH,IGKL’在搜索和拆分方法中,正则表达式的全局标志不起作用。以上内容是边肖介绍的快速学习正则表达式的方法,希望对大家有所帮助!

版权声明:如何快速学习正则表达式?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐