**正则表达式**我是耳闻已久,但是一直没有去学习它,今天抽出一些时间来学习它,学习记录如下。
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符(metacharacter)")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。
许多程序设计语言都支持利用正则表达式进行字符串操作。这里是引用
1.引言
毫无疑问,在没有真正系统学习正则表达式之前,我们就已经使用过某些不涉及脚本的正则表达式概念了!就比如说,我们学习专业课过程中都有接触过这样的概念:*是>=0个,+是>+1个。这两个符号就是所谓的通配符。
2.例子
举一些有趣的例子来讨论一些。
2.1.1 单词查找
场景:在一串密密麻麻的字符串文本中寻找到指定的单词串。比如:him,history,high,hi…。你要精确的寻找定位hi这个单词,就可以采用 \bhi\b 精准匹配。
2.1.2 c/c++/java的单行注释
\/\/.*(?!\s)
or: //.*(?!\s)
2.1.3 c/c++/java的多行注释
\/\*(?:\*(?!\/)|[^\*])*\*\/
或者另一个版本:
\/\*(?:[^\*]|\*+[^\/\*])*\*+\/
它所对应的DFA,按照网络上流传的说法,是这样的:
描述的是否精确还是有待思考!