正则表达式相关

^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.

\s 是空格的意思, * 表示有0个或多个

\s* 就是有0个或多个空格

(^\s*) 表示的就是以0个空格或者多个空格开头

| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.

\s*前面说过了

$ 的意思是字符串必须以前面的规则结尾

(\s*$) 的意思就是, 以0个空格或者多个空格结尾

/.../g  是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.


eg:(/(^\s*)|(\s*$)/g, "") 这个正则表达式替换的就是前导空格和后导空格
因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)
而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)
===================================================================

正则表达式的介绍:

1.可以使用字符作为一个通配符来代替除换行符(\n)之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配.

2.[a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.

如:[a-zA-Z]代表任意大小写字母.

3.[^a-z].匹配任何不属于a-z中的字符.

4.[a-z&&[hij]].匹配hij任何一个(交集)

5.\s.匹配空字符(空格,tab,\n,换页,回车)

6.\S.匹配非空字符(和[^\s]一样)

7.\d.匹配数字,相当于[0-9]

8.\D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符

9.\w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符

10.\W.匹配非词字符,相当于[^\w],匹配一个中文字

逻辑运算符:

|:管道符.如:x|y表示x或y

():捕获组.(abc)|(xyz)表示abc或xyz

边界匹配符:

^:从头匹配

$:从尾匹配

\b:词界.

\B.非词界

量词:

量词描述一个模式吸收输入文本的方式.

*:前面字符或组匹配0或多个

+:前面字符或组匹配1或多个

?:前面字符或组匹配0或1个

{n}:前面字符或组的数量为n个

{n,}:前面字符或组的数量至少n个

{n,m}:前面字符或组数量至少n个,最多m个

在正则表达式中,.是代表任一字符,.+是代表任意一个或多个字符,[]括号代表括号中任一字符,[.]是代表 ". "号,[.]+是代表一个或多个 ". "号,和\.+的意思是一样的。



正则表达式中()的作用和在数学中的很像,就是把括起来的内容当作一个整体。


[]的作用上面说了,{n},匹配前面的字符n次,{n,}匹配前面的字符n次或更多,{n,m}匹配前面的字符最少n次,最多m次,如果n为0,可以不指定。


例如:国内电话号码的表达式


(\   (0\d{2,3}\)|0\d{2,3}-)?\d{7,8}(-\d{1,4})?



解释:


(\(0\d{2,3}\)|0\d{2,3}-)?       ?   表示前面的出现0或1



|表示或者,即\(0\d{2,3}\)或者0\d{2,3}-   也就是区号可以用(010),


(0871),010-,0871-   表示;



\d{7,8}     表示   7位或者8位数字电话号码



(-\d{1,4})?       ?表示出现0或1次,即1到4位分机号或者没有分机号



以下的都算满足:12345678,010-12345678,010)12345678,


010-1234567-1,0877-1234567-1234等。

复制内容到剪贴板
代码:

[a-f]{2,5}(abc)+
[a-f]指a至f的任意某个字符
{2,5}指前面a至f中任意字符取2至5个。。比如ab,或cfb,或ddddd等
(abc)就是小括号的里的字符串没有特别的意义,但是后面跟了个+,表示匹配括号里的字符串(即abc)1到无数次。。则可匹配abc,或abcabcabc等。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值