- 博客(9)
- 资源 (7)
- 收藏
- 关注
翻译 14-回溯引用
14.1 使用回溯引用匹配出现过的字符串回溯引用可以匹配到捕获组曾经匹配过的结果。你可以使用它来匹配HTML的开启标签和闭合标签、以及他们之间的文本。我们可以把启示标签放入一对花括号中(创建捕获组),这样我们在匹配闭合标签的时候可以再次使用捕获组所匹配到的字符。表达式如下<([A-Z][A-Z0-9]*)\b[^>]*>.*?</\1>。这个表达式中只有一对圆括号,...
2018-12-26 15:03:45 838 1
翻译 13-匹配组
13.1 匹配组你可以在表达式中使用圆括号来创建一个匹配组,匹配组中的内容将作为一个整体来看待。我们可以对一个匹配组使用量词,或是使用匹配组来限制选择符所能到达的范围。只有圆括号才能形成匹配组。方括号是定义字符集,花括号是定义量词。13.2 创建捕获组你也可以使用圆括号()创建一个以数字命名的捕获组。捕获组所匹配到的内容将被引擎保存起来。例如表达式Set(Value)?可以匹配 Set ...
2018-12-26 15:01:12 338
翻译 12-量词
12.1 星号*和加号+之前我们已经介绍过问号?这个量词,引擎会把它之前的token匹配一次或者零次,换句话说问号之前的token是可选的。星号的意思是匹配0次或者多次它之前的token,而加号的意思说匹配1次或者多次。例如<[A-Za-z][A-Za-z0-9]*>可以匹配一个不包含属性的HTML标签。其中尖括号是字面量字符。第一个字符集匹配一个字母。第二个字符集匹配一个字母或是...
2018-12-18 16:05:29 314
翻译 11-非必选项
11.1 非必选项我们可以使用?把它之前的token标记为可选的。例如colou?r可以匹配 colour 或者 color。?问号在这里是一种量词。我们可以使用匹配组把多个token标记为非必须的。例如Nov(ember)?可以匹配 Nov 和 November。你可以在一个表达式中使用多个问号,这样可以形成更多种不同的组合。例如Feb(ruary)? 23(rd)?可以匹配Februar...
2018-12-18 16:02:18 661
翻译 10-选择符
10.1 选择符在第五章中,我们已经学习了字符集,它可以匹配多个字符中的一个字符。选择符和字符集很类似,它可以匹配多个表达式中的任意一个字符。如果你想搜索多个文本,例如cat或者dog,你可以使用竖线来分隔这两个文本:cat|dog。如果你想要更多的选项,你可以对上面的例子进行扩展:cat|dog|mouse|fish。选择符的优先级在所有的正则操作符中是最低的。所以引擎会匹配竖线左侧所有的...
2018-12-12 18:42:50 293
翻译 09-词语边界
元字符\b和^$一样也是一个位置字符。它也是一个零宽的匹配字符,它匹配的是词语边界。词语边界可以匹配三种不同的位置:匹配字符串中第一个字符之前的位置,如果第一个字符属于词语字符(word character)匹配字符串中最后一个字符之后的位置,如果最后一个字符是词语字符匹配两个字符之间的位置,如果其中一个是词语字符而另一个不是。我们可以使用\b匹配字符串中的单词,例如\bword\b...
2018-12-08 23:11:44 420
翻译 08-位置字符
8.1 位置字符目前为止我们已经学习了字面量字符,字符集,句号这些元字符。它们可以匹配到单个字符。位置字符的规则和之前学习的元字符有很大的区别。位置字符不匹配任何字符,它匹配的是位置,可能位于字符串的开始、中间、结尾。它可以匹配的结果锚定在字符串的特殊位置。脱字符^可以匹配字符串的开始位置。例如^a可以匹配abc中的a,而^b不能匹配abc中的任何字符,因为b不在字符串的起始位置。下面我们会解...
2018-12-08 12:38:04 397
翻译 07-点操作符
7.1 .可以(几乎)匹配任何字符句点是正则表达式中最常用的字符之一,但是同时它也是最常被用错的元字符之一。句号可以匹配除了行终结符\r\n以外的任何字符。在本教程所涉及的引擎都会默认不匹配行终结符。句号不能匹配行终结符主要是历史原因造成的。因为第一个使用正则表达式的工具是基于行来匹配的,它会把文件按行读取,并用正则匹配每一行。所以每一次匹配中都不包含行终结符,句号也不会去匹配行终结符。现...
2018-12-04 13:48:24 369
翻译 06-字符集的缩写
6.1 字符集的缩写有些字符集使用的频率很高,所以在正则引擎中我们使用缩写的形式来代表这些组合,这样可以提高效率。6.1.1 \d例如\d代表[0-9],在大多数支持Unicode的引擎中,\d代表所有的数字(包含Unicode形式)。但是也有例外在java和javascript中\d只包含ASCII字符的数字。6.1.2 \w\w代表文字字符,也就是[A-Za-z0-9_]。6.1....
2018-12-03 09:31:04 332
个人理财信息系统课程设计(论文+源码)
2012-11-13
人事管理系统(使用MFC单文档程序,使用TXT文本作为数据库)
2011-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人