js 正则表达式

一、正则常用的方法

1.test () 

example:

let str = '1235789353'

let re = /\D/

if ( re.test ( str ) ) {

  console.log("不全是数字")

} else {

  console.log("全是数字")

}

2.search () 字符串搜索符合正则的内容,返回出现的位置。

let str = 'abcd'

let re = /\B/i

console.log( str.match( re ) )

3.match () 在字符串中搜索符合正则的内容,返回字符串。

let str = '123da456ad'

let re = /\d+/g

console.log( str.match( re ) )

4.replace()

let str = '我爱北京天安门'

let re = /北京|天安门/

consolo.log( str.replace( re, '*') )

replace第二个参数为回调函数

let str2 = str.replace(re, function (str) {

  return new Array( str.length + 1 ).join( '*' )

})

5.exec()搜索符合规则的内容,返回内容

let str = 'now, test123 and test456'

let re = /test(\d+)/

console.log( re.exec(str) )

 

二、正则表达式字符

\s空格

\S非空格

\d数字

\D非数字

\w字符

\W非字符

()分组符

[]集合取一

[^a]排除

\b独立部分

\B非独立部分

/ \(a) (b) (c) \1/重复第一个子项

三、面试题

1.字符串中重复最多的字符

let str = 'aaaabbcccddd'

let arr = str.split('').sort().join('')

let re = /(\w)\1+/g

let index = 0

let value = ''

str.replace(re, function ($0, $1) {

  if ($0.length> index) {

    index = $0.length

    value = $1

  }

})

2.去掉前后空格

function trim (str) {

  let re = /^\s+|\s$/

  return str.replace(re, '')

}

3.匹配中文

[\u4e00-]u9fa5]

 

参考:https://www.cnblogs.com/moqing/archive/2016/07/13/5665126.html

转载于:https://www.cnblogs.com/tangyunluck/p/9915647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值