正则表达式(regular Expression)是一种字符串检索模式。正则表达式具体表现为一个字符串的样子。其执行原理是:通过参数字符串设置检索规则,在【指定字符串】中检索符合规则的字符串。正则表达式的作用是:可以用来进行文本搜索和文本替换。
语法/正则表达式主体/修饰符(可选) 如:
var frk_reg = /beixi/i;其中 :(1)/beixi/i是一个正则表达式
(2)beixi是这个正则表达式的主体,表示想要检索的内容是beixi
(3)i 是一个正则表达式的修饰符,表示检索内容时不区分大小写
常见用法正则表达式在实际开发中一般不会单独使用,而是会配合一些方法来完成某种功能。因为正则表达式的作用是对字符串进行操作,所以一般在实际开发中正则表达式会配合字符串的search和replace方法来使用。
(1)search方法
用于检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置。
(2)replace方法
用于在指定字符串中用一个字符串替换一个与正则表达式相匹配的子字符串。
常见的修饰符常见的修饰符类型有三种:i 、g、m。
(1)i修饰符,表示正则检索内容时不区分大小写
var str = 'Hello Frank! GoodBye Frank!'; var first_index = str.search(/frank/i); console.log(first_index);(2)g修饰符,表示正则检索内容时采用全局匹配,而不是找到第一个就停止。
var str = 'Hello Frank! GoodBye Frank!'; var newStr = str.replace(/frank/gi,'frankenStein'); console.log(newStr);(3)m修饰符,表示匹配换行符两端的潜在匹配,对正则中的^$符号会有影响(不常用)
常见的检索模式正则表达式的检索模式,用于指定正则采用何种方式进行内容的检索。常见的检索模式有表达式模式、元字符模式和量词模式三种。他们并不互相独立而是相辅相成的关系,就像修饰符可以多个一起使用一样。
(1)表达式模式
正则表达式的书写方式是通过表达式编写的模式称为表达式模式。注意:在表达式模式中,检索格式不能写成[9-0],这种写法是违法的。
表达式模式用法注意事项[abc]在指定字符串中检索,查找任何满足存在于方括号中规则的字符或字符串。 [0-9]在指定字符串中检索,查找任何满足0至9之间规则的的字符或字符串。该模式对字母也适用检索格式不能写成[9-0],这种写法是违法的(x|y)在指定字符串中检索,查找任何满足【以|分隔的选项之一】的字符或字符串如果使用|进行正则查找,则使用的是小括号。而不是中括号(2)元字符模式
具有特殊含义的字符称为元字符。通过元字符来进行正则检索的模式,称为元字符模式。
元字符模式用法\d在指定字符串中检索,查找任何【是数字】规则的字符或字符串\s在指定字符串中检索,查找任何【是空白】规则的字符或字符串\b在指定字符串中检索,查找任何【是单词边界】规则的字符或字符串(3)量词模式
表示要检索的字符或字符串出现的次数的词组称为量词。
量词模式用法n+在原字符串中检索任何【包含一个或多个n】的子字符串n*在原字符串中检索任何【包含0个或多个n】的子字符串n?在原字符串中检索任何包含0个或1个n的子字符串
