正则表达式学习笔记(一)
在编写处理字符串的时候,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用来描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码。
(1) 关于大小写,正则表达式处理工具会有控制的机制,人为可调,后面会讲。 (2) b 这是属于正则表达式里面的所谓元字符。看看应用,假设想要在某段文本中查找”men”这个字符串。若是没有使用b,那么结果是这样的: 如果使用了b的话,结果就是这样: b匹配的是单词边界,不匹配任何字符。其中的单词是指另外一个元字符w所规定的字符串,具体有哪些呢? 这个是看情况的,在支持ASCII码的语言中,w那就是等价于【a-A-9_】;而在Unicode的语言中,默认情况下,除了以上那些,还包括汉字,全角数字等。 (3) “.” “*” 如果要查找以”men”开头,以”Lucy”结尾的字符串,怎么做呢,可以如下操作,结果如下: “.” 和”*”都是属于元字符。 “.”匹配除了换行符以外的任意一位字符。 “*”不代表字符和位置(不要把它和windows系统里面的查询的通配符论比),在正则表达式里面,它表达的是*前边的内容可以连续重复使用任意次以上。 上述图片里面的意思就是以”men”开头,”Lucy”结尾,中间有任意数量但是不能有换行的字符的字符串。所以图片蓝色框框内的字符串没有连起来,因为换行了。”*”可以匹配的是0个或者更多个,有一个符号作用与*相同,那就是”+”,但是它匹配的是1个或者更多个。 (4) “d” “-“ 若是想要查找数字字符串怎么办?使用”d”。 “d”也是元字符,表示一位数字(0~9)。 “-”不属于元字符,只用来匹配自己,所以可以用来匹配中横线或者减号。 如下图所表示: 但是输入这么多的符号,非常的麻烦,于是,另外的一个方法解决这个麻烦: 相必已经看到,在d的后面多了{2},其中2就表示是数目。 (5) 测试工具,这里使用的测试工具是从网上下载的RegexBuddy,可以用来做正则表达式的练习和测试。 (6) w 再来说说w,前面已经说过,w表示的是一个匹配单词的元字符,w也可以用{数字}来表示这个单词有几位。例如bw{4}b:匹配4个字符的单词。 (7) 其它常用元字符
说明:s匹配的空白符包括空格,制表符(tab)换行符,中文全角空格。 符号^和$类似于b,下面是一个实例: 其中,{5,12}是{5}这种形式的扩展用法,{5}表示必须是5个,而{5,12}则是表示可以为5~12个数,重复方法小结:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |