正则表达式

用途
一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等

匹配字符
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\W反义
\s 匹配任意的空白符[\f\n\r\t\v](换页符\f、回车符\r、空格、制表符\t、换行符\n
\S反义 [^ \f\n\r\t\v]
\d匹配数字
\D反义

定位符-匹配位置
^字符串的开始
$字符串的结尾
\b单词的开始或结束
\B反义

限定符-匹配数量
*重复零次或更多次
+重复一次或更多次
重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次
当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。
非贪婪模式尽可能少的匹配所搜索的字符串
默认的贪婪模式则尽可能多的匹配所搜索的字符串

image.png

修饰符
iignore-不区分大小写
g global-全局匹配
m multi line-多行匹配
s 默认情况下.,匹配除换行符\n之外的任意字符,加上s,包含换行符

特殊字符-需转义
$ ( ) * + . [ ? \ ^ { |

其他
(?:pattern) industr(?:y|ies) 就是一个比 industry|industries更简略的表达式
(?=pattern) Windows(?=95|98|NT|2000)能匹配Windows2000中的Windows,但不能匹配Windows3.1中的Windows
(?!pattern) Windows(?!95|98|NT|2000)能匹配Windows3.1中的Windows,但不能匹配Windows2000中的Windows
(?<=pattern) (?<=95|98|NT|2000)Windows能匹配2000Windows中的Windows,但不能匹配3.1Windows中的Windows
(?<!pattern) (?<!95|98|NT|2000)Windows能匹配3.1Windows中的Windows,但不能匹配2000Windows中的"Windows
exp1(?:exp2)
exp1(?=exp2) 查找 exp2 前面的 exp1
exp1(?!exp2) 查找后面不是 exp2 的 exp1
(?<=exp2)exp1 查找 exp2 后面的 exp1
(?<!exp2)exp1 查找前面不是 exp2 的 exp1

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、语法 1.普通字符 普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有...
    Sun____阅读 1,441评论 0 0
  • 正则表达式基本常识 常用运算符与表达式 1.^ 开始,从头开始匹配2.() 域段3.[] 包含,默认是一个字符长度...
    尛傑阅读 3,073评论 0 0
  • 1、前言 正则表达式,如果有一定编程经验的同学,一定知道,可能你知道,但又说不出个所以然来,平时不经常使用,很容易...
    iHTCboy阅读 3,991评论 0 0
  • 正则表达式代表的匹配字符[0-9]0123456789任意之一[a-z]小写字母任意之一[A-Z]大写字母任意之一...
    隐墨留白阅读 3,401评论 0 0
  • 正则表达式 元字符 下面列举一些正则表达式里的元字符及其作用 元字符 |说明 . ...
    小小迷糊QM阅读 1,742评论 0 0

友情链接更多精彩内容