无法加载

Js正则表达式

FavoriteLoading收藏

正则表达式是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式。

1、两种创建方式(一种采用new运算符,另一个是采用字面量方式)

  • var box=new RegExp(‘box’);第一个参数字符串
  • var box=new RegExp(‘box’,’ig’);第二个参数可选模式修饰符
  • var box=/box/; //直接用两个反斜杠
  • var box=/box/ig; //在第二个反斜杠后面加上模式修饰符

2、元字符:在正则表达式中有特殊含义的字符

单个数字和字符的元字符

. 匹配单个任意字符

/g.ogle/.test('ggogle')//返回true,第二个字符可以是任意字符

[] 匹配单个范围内的字符

[0-9]:表示任意0-9

/g[0-9]ogle/.test('g2ogle')//true

\d :表示任意0-9

/g\dogle/.test('g2ogle')//true

\D :表示任意非0-9

/g\Dogle/.test('g2ogle')//false

[a-zA-Z0-9_]表示任意数字、字母、下划线

/g[a-zA-Z0-9_]ogle/.test('g2ogle')//true
/g[a-zA-Z0-9_]ogle/.test('gaogle')//true
/g[a-zA-Z0-9_]ogle/.test('g_ogle')//true

\w:表示任意数字、字母、下划线

/g\wogle/.test('g2ogle')//true
/g\wogle/.test('gaogle')//true
/g\wogle/.test('g_ogle')//true

\W:表示非数字、字母、下划线

/g\Wogle/.test('g2ogle')//false
/g\Wogle/.test('gaogle')//false
/g\Wogle/.test('g_ogle')//false

[^]:匹配任意一个除括号范围内的字符

[^0-9]:匹配任意一个非数字字符

/g[^0-9]ogle/.test('g2ogle')//false

重复字符 x(任意的单个字符)

x?:匹配0个或者一个x

/go?ogle/.test('google')//true
/go?ogle/.test('gogle')//true

x+:匹配至少1一个x

/g\d+oogle/.test('g1oogle')//true
/g\d+oogle/.test('g12345oogle')//true

x*:匹配任意个x

/g\d*oogle/.test('google')//true
/g\d*oogle/.test('g12345oogle')//true

x{m,n}:匹配至少m个,最多n个x字符,包括m,n

/g\d{2,5}oogle/.test('g2oogle')//false
/g\d*{2,5}oogle/.test('g12345oogle')//true

x{n}:必须匹配n个x字符

/g\d{2}oogle/.test('g123oogle')//false
/g\d*{2}oogle/.test('g12oogle')//true

(xyz)+:小括号括起来的部分当作单个字符处理

/googabc+le/.test('googabccccle')//true
/goog(abc)+le/.test('googabcabcabcabcabcle')//true

空白字符

\s:匹配任意单个的空白字符

\S:匹配任意单个非空白字符

/goog\sle/.test('goog\nle')//true
/goog\sle/.test('goog le')//true

锚字符

^:行首匹配

/^google/.test('abc google abc')//false
/^google/.test('google sdsffs')//true

$:行尾匹配

/google$/.test('abc google abc')//false
/google$/.test('abc google')//true

替代字符 |

/google|baidu|bing/.test('google')//true
/google|baidu|bing/.test('baidu')//true
/google|baidu|bing/.test('bing')//true

修饰符

i:忽略大小写

g:全局匹配

m:换行匹配

/google|baidu|bing/.test(1、google|\n2、baidu\n3、bing)//true

3、正则表达式对象方法

test()

  • 格式:正则.test(字符串)
  • 功能:在字符串中匹配这个正则是否存在
  • 返回值:匹配成功返回true,匹配失败返回false

exec()

  • 格式:正则.exec(字符串)
  • 功能:在字符串中匹配这个正则是否存在
  • 返回值:返回匹配到的字符串,匹配成功返回一个装有字符串的数组,匹配失败返回null

4、字符串中使用正则的方法

match()

  • 格式:字符串.match(正则)
  • 功能:在字符串中匹配这个正则是否存在
  • 返回值:返回匹配到的字符串,匹配成功返回一个装有字符串的数组,匹配失败返回null

replace()

  • 格式:字符串.replace(oldStr/正则,newStr)
  • 功能:用newStr替换oldStr
  • 返回值:返回替换成功的字符串

split()

  • 格式:字符串.split(分隔符/正则)
  • 功能:用分隔符将愿字符串进行分割
  • 返回值:分割剩下的子串组成的数组

search()

  • 格式:字符串.search(字串/正则)
  • 功能:找到符合条件的字串第一次出现的位置
  • 返回值:如果找到,返回>=的下标,否则返回-1

留下评论

微信:15182814906

QQ:1548902957

邮箱:1548902957@qq.com