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

正则表达式学习笔记

发布时间:2020-12-13 19:35:18 所属栏目:百科 来源:网络整理
导读:学习正则表达式 byYoungdze 1.正则表达式概念及基本语法 1.常规搜索 data?.dat 可能找到 data1.dat , data2.dat 等; data*.dat 可能找到 data.dat , data1.dat , data2.dat , data12.dat , datax.dat , dataXYZ.dat 等。 1.正则表达式示例 /^s*$/ :

学习正则表达式

byYoungdze

1.正则表达式概念及基本语法

1.常规搜索

data?.dat可能找到data1.datdata2.dat等;

data*.dat可能找到data.datdata1.datdata2.datdata12.datdatax.datdataXYZ.dat等。

1.正则表达式示例

  • /^s*$/: 匹配空行。
  • /d{2}-/d{5}/: 验证由两位数字、一个连字符再加5位数字组成的ID号。
  • /<s*(S+)(s[^>]*)?>[sS]*<s*/1s*>/:匹配HTML标记。

2.基本语法

  • 语法1

    var reg=/pattern/[flags]
  • 语法2

    var reg=new RegExp("pattern"["flags"])
  • Flags : 可选项

    • g(全文查找出现的所有pattern)
    • i(忽略大小写)
    • m(多行查找)

3.元字符

  • ^: 匹配字符串的开头,比如:/^c/匹配“cat”,而不匹配"Cat"
  • $: 匹配字符串的结尾,比如:/c$/匹配"music"
  • 字符类
    • w: 匹配一个字符, 等价于[a-zA-Z0-9]
    • W: 匹配不是一个字符,等价于[^a-zA-Z0-9]
    • d: 匹配一个数字,等价于[0-9]
    • D: 匹配不是一个数字,等价于[^0-9]

4.示例

  • /d{2,4}/: 出现2-4个数字
  • /w{3}/d?/:出现3个字符,和0或1个数字,d?表示0或1个数字
  • /s+java/s+/s表示一个空白字符,还有+则表示或多个(大于一个)字符,中间有一个java,后面还有一个空白字符
  • /[^(]*/
  • /ad|cd|ef/: 表示匹配ab或者cd或者ef
  • /d{3}|[a-z]{4}/: 出现3个数字或者4个小写字符
  • /[a-z]+d+/: 出现一个小写字符或多个小写字符和一个数字或多个数字
  • /^(w){6,20}$/w匹配字母包括下划线等于[a-zA-Z0-9]^表示以字符开头,{6,20}中间有6到20个字符,再以字符结尾$
  • W: 匹配一个不可以组成单词的字符,等于[^a-zA-Z0-9]

2.正则表达式的使用

1.String对象方法

  • search方法(搜索)
  • replace方法(替换)
  • match方法(匹配)
  • split方法

1.search

<script>
var str ="Hello world!";
var index = str.search(/llo/i);  //这里是查找"llo"在字符中的位置,"i"表示忽略大小写
</script>

2.replace

<script>
var str = "Hello world!";
var temp = str.replace(/world/i,"friend");  //这里用"friend"替换"world"
</script>

3.match

<script>
var str = "1+2=3";
var t = str.match(/d+/g);  //"d"表示匹配数字,"+"表示一个以上,后面加一个"g"表示匹配所有的"d"
alert(t);
<script>

4.split

<script>
var str = "1,2,3";
var spl = str.spl(/s*,s*/);  //"s"表示的是空格,"*"表示一个以上的空格
alert(spl);
</script>

3.RegExp对象用法

1.属性和方法

1.属性

  • lastindex

2.方法

  • exec
  • test

(编辑:李大同)

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

    推荐文章
      热点阅读