加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-14 06:19:54 所属栏目:百科 来源:网络整理
导读:正则表达式为标书字符串规则的表达式。下面为两个例子为在 JavaScript 中的使用, /pattern/attrs new RegExp(pattern,attrs) 锚点 锚点 用于匹配一个位置,下列为常用的锚点 ^ 起始的位置 /^http/ $ 结尾的位置 /.jpg$/ b 单词边界 字符类 字符类 用于匹

正则表达式为标书字符串规则的表达式。下面为两个例子为在 JavaScript 中的使用,

  • /pattern/attrs
  • new RegExp(pattern,attrs)

锚点

锚点用于匹配一个位置,下列为常用的锚点

  • ^ 起始的位置 /^http/
  • $ 结尾的位置 /.jpg$/
  • b 单词边界

字符类

字符类用于匹配一类字符中的一个,下面为几个常用的例子,

  • [abc] 可用于匹配 a b 还有 c
  • [0-9] 可用于匹配一个数字
  • [^0-9] 可用于匹配一个数字
  • [a-z] 可用于匹配一个字母
  • . 任意字符但换行符除外

元字符

元字符为具有特殊意义的字符。常见的有,

  • ^,$,b
  • d 用于匹配数字 [0-9]
  • D 用于匹配 [^d]
  • s 用于匹配空白符
  • S 用于匹配非空白符 [^s]
  • w 用于匹配任意单词字符(例如程序中的变量字符) [A-Za-z0-9_]
  • W 用于匹配非单词字符 [^W]

量词

量词用于表现字符出现的次数。可用的连词如下,

  • {m,n} 用于表示出现 mn 次之间。
  • * 用于表示出现 0 到无穷之间也就等同于 {0,}
  • ? 用于表示出现 0 次到 1 次也等同于 {0,1}
  • + 用于表现出现 1 次以及一次以上也等同于 {1,}

转移符

转义符需要在匹配的字符是元字符的时候使用。使用 来进行转移即可。

多选分支

多选分支用于表示的概念。/thi(c|n)k/ 其又等同于 /thi[cn]k/。其还可以用于匹配文件扩展名 /.(png|jpg|jpeg|gif)$/

常用方法

测试:regxObj.test(str)

其用于测试正则表达式与指定字符串是否匹配。

/123/.test(123); // true
/123/.test(111); // false
/123/.test('x123'); // true

捕获

其用于保存所匹配到的字符串为后续开发所用。() 可用于捕获,正则表达式再运行时会将其保存下来,(?:) 则不予保存。

// str.match(regexp)
var url = 'http://www.google.com/query?test=li-xinyang#cool';
var reg = /(https?:)//([^/]+)(/[^?]*)?(?[^#]*)?(#.*)?/;

var arr = url.match(reg);
var protocol = arr[1];
var host = arr[2];
var pathname = arr[3];
var search = arr[4];
var hash = arr[5];

搜索与替换

regexpObj.exec(str) 可以提供更强大的检索,它可以提供更详尽的结果 index 也可以提供过程状态 lastIndex

str.replace(regex/substr,replacement) 可以使用正则表达式来对字符串进行替换。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读