正则表达式是什么
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描
述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录
下的所有的Word文档的话,你会搜索*.doc。在这里,"*"会被解释成任意的字符串。和通配符类似,正则
表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是
更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连
字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。
用途
正则的用途是查找, 替换, 分割字符串
基本用法
根据不同的语言自行搞定
参考:正则表达式ppt
注意点
- 如果查找运算符本身,需要转义。例如字符串包含. 就在前面加一个斜杠 --> \.
- 一些修饰符,如果不明确用括号()分开,则只修饰离他最近的。例如:
http|https|ftp:\/\/[\w.]+
这个+只修饰[\w.]
- 括号()可以界定范围的作用。
例如:
如果你的表达式是由一部分一部分组成的, 就可能会用到分组, 举个例子, 你希望匹配
ftp://www.google.com
http://www.google.com
https://www.google.com
你希望限定协议部分只有ftp, http, https你可能需要这样写
(http|https|ftp):\/\/[\w.]+
如果上面没有分组变成了
http|https|ftp:\/\/[\w.]+
"|" 实际上是作用于 "http","https","ftp://[\w.]+" 这三种选择.
这里是否添加括号,"|"符号作用的范围就是不一样的。