书店网站建设定位及目标,做整装的网站,推广优化公司网站,北京seo服务商在正则表达式中#xff0c;[...]代表1个字符#xff0c;不管里面有多少字符#xff0c;最终这个东西的结果都是1个字符。
对于表达式[^a]表达的匹配除了a之外的字符#xff0c;并且是1个字符。
需要注意的是#xff0c;有些特殊字符是不会被匹配的。
我们看一个示例[...]代表1个字符不管里面有多少字符最终这个东西的结果都是1个字符。
对于表达式[^a]表达的匹配除了a之外的字符并且是1个字符。
需要注意的是有些特殊字符是不会被匹配的。
我们看一个示例对于txt文件testRegularExperxx.txt aaabbb对于该文件输入命令grep -n [^a] testRegularExperxx.txt
得到的结果是
你会发现对于看起来的“空行”的处理似乎是不一样的为什么呢
仔细看看文件虽然都是空行但是有的是空格有的是 \t有的是 \n。它们看起来都是空的但是处理方式不一样。
这里对于[^]a除了a之外的1个字符能够识别空格和 \t而忽略掉 \t。 我们换一个新的文件看看文件的内容 选中的时候颜色不同也可以看出端倪来。
HexCharDescriptionEscape Character09HTHorizontal Tab\t0aLFLine Feed\n20spaceSpace
所以你就知道了[...]的特殊的地方了。
那么如何识别空行呢也就是仅包含\n的行。
使用^$识别这也是比较特殊的点了。 小结
[...]不能识别\n^$可以识别\n但是注意是识别一行仅有\n的空行
另外正则表达式的不同规则是可以进行花样排列组合从而识别复杂单词进一步也可以作为词法分析的实用工具。