正则表达式
文章平均质量分 61
yx0628
这个作者很懒,什么都没留下…
展开
-
正则表达式的运行原理详解(NFA引擎)
正则表达式 NFA 引擎是大多主流语言使用的引擎,它以表达式为主导,更符合开发的逻辑。 理解 NFA 引擎的运行规则,是十分重要的。 我们先看一个例子: 比如下边的这行字符串The dragging belly indicates your cat is too fat使用这个正则来匹配的结果应该是什么呢:fat|cat|belly|your我们知道“或”字符表示多选...原创 2018-09-16 12:02:24 · 2905 阅读 · 4 评论 -
正则表达式——捕获组和反向引用
正则表达式的捕获组和反向引用: 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其他程序中作进一步处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。 在匹配的过程中,对于小括号括起来的子表达式,引擎会在正则表达式匹配成功时记录下当前所有这些捕获组对应的匹配结果(这些...原创 2018-09-17 17:23:20 · 5011 阅读 · 0 评论 -
正则表达式——捕获组和反向引用
正则表达式中 [] 表示字符组,在中括号中所有出现的字符中,匹配其中的任意一个字符。且只能是 1 个字符。比如 [abc] 可以匹配 a、b、c 三个字符中的任意一个。在字符组中,可以使用连接符 - 来表示一个字符区间。如 [a-zA-Z0-9] 表示匹配任意一个大小写英文字母或数字。连接符两端的字符,左侧的字符在 ASCII 码表中应该比右侧字符小,表示 ASCII 码表中从左侧字符到右...原创 2018-09-18 16:18:30 · 917 阅读 · 0 评论 -
正则表达式——环视(零宽断言)
环视也叫零宽断言它匹配的是一个位置,该位置必须满足零宽断言条件,才能继续往下进行匹配。由于位置不是字符,它是没有宽度的,所以叫做零宽断言。环视分为4种情况,概念是想通的,用哪种需要根据自己的需求来决定:否定逆序环视(?<!)肯定逆序环视(?<=)否定顺序环视(?!)肯定顺序环视(?=)否定逆序环视:在这个位置的前边(逆序),不能有(否定)条件给出的字符串肯定逆序环视...原创 2018-09-18 16:21:57 · 1513 阅读 · 0 评论