正则表达式 RegExp

正则表达式模式匹配

  1. g 表示全局模式,匹配所有相符而不是发现第一个就停止
  2. i 表示不区分大小写
  3. m 表示多行
    使用元字符必须转义
    ( [ { \ ^ $ | ) ? * + . ] }

语法 http://www.runoob.com/regexp/regexp-syntax.html
https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx

exec

参照mdn描述的很清晰。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
lastIndex属性可能还需要以后更深层理解。exec()远比test()方法内容多。
相似的方法 String.search() String.match() RegExp.test() RegExp.exec()的区别。
如果只想得到字符串是否匹配正则,用test(),返回true or false。
如果想得到匹配字符的位置,用search()。返回index or -1。
如果想得到匹配的字符串,用match,其中exec的index[0]和match方法返回值完全一样。
当上述方法都无法满足你,那么就需要用exec()。

RegExp构造函数属性

  • input $_
  • lastMatch $&
  • lastParen $+
  • leftContext $`
  • multiline $*
  • rightContext operaie 1-$9为短属性名存储捕获组。
    ECMAScript的正则表达式还有着一些局限性。
  • 不支持字符串开始结束的\A,\Z
  • 不支持向后查找
  • 不支持交集、并集
  • 不支持原子组
  • 不支持Unicode(单字符除外)
  • 不支持命名捕获组
  • 不支持s单行、free-spacing 无间隔匹配模式
  • 不支持条件匹配
  • 不支持正则注释
    一些需要记忆正则
//匹配汉字
var reg = /^[\u4e00-\u9fa5]+$/;
//正整数,可匹配000
var reg = /^\d+$/;
//正整数
var reg = /^[1-9]*[1-9][0-9]*$/;
//长度6-10以字母开头密码
var reg = /^[a-zA-Z]\w{5-9}$;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值