zoukankan      html  css  js  c++  java
  • Java——正则表达式

    正则表达式:字符串处理工具,可以对字符串进行查找、提取、分隔、替换等操作。

    一、正则表达式支持的合法字符

    x:可代表任何合法的字符

    mnn:八进制数0mnn表示的字符

    xhh:十六进制值0xhh表示的字符

    uhhh:十六进制值0xhhhh所表示的Unicode字符

    :制表符('u0009')

    :换行符('u000A')

    :回车符('u000D')

    f:换页符('u000C')

    a:报警符('u0007')

    e:Escape符('u001B')

    cx:x对应的控制符。例如,cM匹配Ctrl+M。x值必须为A~Z或a~z之一。

    二、正则表达式中的特殊字符

    如需匹配则必须首先将这些字符转义,也就是再添加一个反斜线。

    S:匹配一行的结尾。要匹配S字符本身,使用S

    ^:匹配一行的开头。要匹配字符本身,使用^

    ():标记子表达式的开始和结束位置,要匹配^字符本身,请使用(   )

    []:用于确定中括号表达式的开始和结束位置。要匹配这些字符,使用[  ]

    {}:用于标记前面子表达式可以出现的频度。要匹配这些字符,使用{ }

    *:指定前面子表达式可以出现零次或多次,要匹配*字符本身,使用*

    +:指定前面子表达式可以出现一次或多次,要匹配+字符本身,使用+

    ?:指定前面子表达式可以出现零次或一次。要匹配?本身,使用?

    .:匹配除换行符 之外的任何单字符,要匹配.字符本身,使用.

    :用于转义下一个字符,或指定八进制 十六进制字符,如匹配字符本身,使用\

    |:指定两项之间任选一项,如果要匹配|本身,使用|

    注意:Java字符串中反斜杠本身需要转义,因此\\表示一个反斜杠,\.表示一个.。

    三、预定义字符

    ·:可以匹配任何字符

    d:匹配0~9的所有数字

    D:匹配非数字

    s:匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等

    S:匹配所有的非空白字符

    w:匹配所有的单词字符,包括0~9所有数字、26个英文字母和下划线(_)

    W:匹配所有的非单词字符

    提示:d是digit的意思,代表数字;s是space的意思,代表空白;w是word的意思,代表单词。d,s,w的大写形式恰好匹配与之

    相反的字符

    四、方括号表达式

    处理特殊情况:比如只想匹配a~f的字母,或者匹配除了ab之外的所有小写字母,或者匹配中文字符

    表示枚举:例如[abc],表示a、b、c其中任意一个字符:[gz],表示g、z其中任意一个字符

    表示范围:-:例如[a-f],表示a~f范围内的任意字符:[\u004-\u0056],表示十六进制字符u0041到u0056范围的字符。、

    范围可以和枚举结合使用,如[a-cx-z],表示a-c,x-z范围内的任意字符

    表示求否:^:例如[^abc],表示非a、b、c的任意字符:[^a-f],表示不是a-f范围内的任意字符

    表示“与”运算:&&:例如[a-z&&[def]],求a~z和[def]的交集,表示d、e、f

    表示“并”运算:并运算与前面的枚举类似,例如[a-d[m-p]],表示[a-dm-p]

    五、边界匹配符

    ^   行的开头

    S    行的结尾

        单词的边界

    B    非单词的边界

    A    输入的开头

    G    前一个匹配的结尾

        输入的结尾,仅用于最后的结束符

    z     输入的结尾

  • 相关阅读:
    什么时候加上android.intent.category.DEFAULT和LAUNCHER
    android中跨进程通讯的4种方式
    Unix Sockets in Go
    android Service 跨进程通信
    Android Activity和Intent机制学习笔记
    AIR 移动设备上的存储控制
    AIR Android开发APK结构详解
    android 内存管理
    Android权限大全
    运营商登录付费接入ANE打包心得
  • 原文地址:https://www.cnblogs.com/bolumiere/p/6489690.html
Copyright © 2011-2022 走看看