正则表达式RegExr

概念

正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。它描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义

举例

var str = "Is is the cost of of gasoline going up up";
var patt1 = /\b([a-z]+) \1\b/ig;
document.write(str.match(patt1));

捕获的表达式,正如 [a-z]+ 指定的,包括一个或多个字母。正则表达式的第二部分是对以前捕获的子匹配项的引用,即,单词的第二个匹配项正好由括号表达式匹配。\1 指定第一个子匹配项。
单词边界元字符确保只检测整个单词。否则,诸如 “is issued” 或 “this is” 之类的词组将不能正确地被此表达式识别。
正则表达式后面的全局标记 g 指定将该表达式应用到输入字符串中能够查找到的尽可能多的匹配。
表达式的结尾处的不区分大小写 i 标记指定不区分大小写。
多行标记指定换行符的两边可能出现潜在的匹配。

内容

定位符

定位符使您能够将正则表达式固定到行首或行尾。
它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。
定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界。
在这里插入图片描述
注意:不能将限定符与定位符一起使用。由于在紧靠换行或者单词边界的前面或后面不能有一个以上位置,因此不允许诸如 ^* 之类的表达式。
在这里插入图片描述

元字符

元字符有一个预先定义的含义,使某些共同的pattern更易于使用,例如 \d 代替 [0…9]
在这里插入图片描述
在这里插入图片描述

普通字符

普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。
其实普通字符是最简单的一个正则表达式
在这里插入图片描述
在这里插入图片描述

限定符(出现次数)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

范围符

在这里插入图片描述
[]里的字符的关系是 或 的关系,默认
在这里插入图片描述
在这里插入图片描述

选择符和分组

在这里插入图片描述
在这里插入图片描述
反向捕获:如下,([a-z]{2})当这个匹配到两个字符后,进行分组,然后\1会根据第一个组的字符再复制匹配后面的字符,比如先匹配到go,那么\1会再用go往后去匹配,则最终结果就是gogo,
在这里插入图片描述

编程

正则书写的关键点只有三个:
一是所有基础表达式默认都能且只能匹配一个字符
二是除非其后给出限定符另外指出匹配次数
三是限定符只限定在其前面的那一个表达式(^定位符只对其后一个表达式生效,$定位符只对其前一个表达式生效)

JS

如果是在js中使用正则表达式,则需要在正则表达式前后加“/”

JAVA

匹配

在这里插入图片描述

分组

在这里插入图片描述

替换

在这里插入图片描述

分割

在这里插入图片描述

工具

在线工具
离线工具:regexbuddy

参考:
正则表达式的写法(全面)
正则表达式 - 语法
正则表达式的语法规则
正则表达式介绍与使用
注释

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值