正则表达式

正则表达式(Regular Expressions) ---字符串处理利器




基于java:【java中双反斜杠\等于一个反斜杠】
用途:
字符串匹配
字符串查找【基于匹配】
字符串替换【基于查找】
例子:
判断ip地址是否正确
从网页中揪出email
从网页中揪出连接等
类:
java.lang.string
java.util.regex.pattern

===================================华丽丽分割线====================================

符号                   作用                       例子
1、'.'   匹配 一个字符           ’ . ‘ 匹配 a
2、  \d      匹配  [0-9]数字            ‘aaaa’
3、  *        匹配零个或多个
4、  +       匹配一个或多个
5、  ?      匹配一个或零个
6、[]
7、{}
几个需要注意的例子
‘a’        ‘.’            true
'aa'      'aa'         true
'aaaa'   'a*'         true
'aaaa'    'a+'       true
'aaaa'    'a?'       true
''           'a?'        true  零宽度匹配
'a'         'a?'        true
'545787' '\\d{3,100}'   true
'192.168.0.aaa'  '\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}'    false
'192'   '[0-2][0-9][0-9]    true
范围
‘a’   ' [abc] '        true
‘a’    '[^abc]'      false    ^取反除了abc
‘A’     ' [a-zA-Z]'     true
‘A’    ' [a-z]|[A-Z]'   true
‘A’       '[a-z[A-Z]]' false  并集
‘R’       '[A-Z]&&[RGF]''  true 取交集


\d     [0-9]
\D     [^0-9]
\s      [ \t\n\x0B\f\r]
\S      [^\s]
\w      [a-zA-Z_0-9]  比如用户名注册匹配
\W     [^\w]
例子
‘ \n\r\t'’   '\\s{4}'                                       true
‘’   '\\S'                                                    false
'a_8'               ''\\'w{3}'                            true
'abc888&^%'   '[a-z]{1,3}\\d+{&^#% }      true 
'\\'其中一个反斜线防止转义               '\\\\'匹配时反斜线需要两个表示的时候又需要两个   即匹配时为\匹配 表示时为\表示   反斜杠灾难。。。这个学起来有点纠结                                  true
边界匹配
‘^’特别注意……^位于中括号里面就是取反中括号外面就是什么什么的开始
^     一行的开始
$    一行的结束
\b   单词的边界
\B    不是单词的边界【单词边界-空格空白字符 特殊字符换行的时候】
\A     真个输入的起始位置
\G     上一次匹配结束的位置
\Z      结束的位置
\z
例子
‘hello sir‘         ’ ^ h . *  ' 
                       ''. *ir$'
                       ' ^h[a-z]'{1,3} o\\b.*'匹配
                
‘hellosir’           ' ^h[a-z]'{1,3} o\\b.*'不匹配因为没有单词边界
空白行  \n 或者 ‘  ’\n
‘  \n’   匹配    ''^[\\s  $$ [^\\n]] *\\n$''           解释:开头的是空白字符并且不是换行符  最后结束的是换行符然后是行的末尾【联系取交集】
*号是空白字符出现0次或者多次
{4}  表示四个数字
{1,4}表示范围
练习
匹配电子邮箱地址:                     ‘[\\w[.-]]+|[0-9]+@\\.[\\w[.-]]+''
m.find  找子字符串

  

posted @ 2014-06-26 21:58  Crack's_Blog  阅读(180)  评论(0)    收藏  举报