正则:

java方法

  • String

    java.lang.String: 
        [boolean] 字符串.matches("正则")   ##是否匹配
        [String[]]  字符串.split("正则")  ##切割
        [String]  字符串.replaceAll("正则",“字符”)  ##替换
    
  • regex

    java.util.regex.Pattern:  ##正则表达式的编译
        [boolean]Pattern.matches(String[正则],String[字符串])  ##是否匹配
        [Pattern]Pattern.compile(String[正则])  ##编译正则表达式
        [Matcher]matcher(String[字符串])  ##创建matcher对象
    java.util.regex.Matcher:  ##对输入字符串进行解释和匹配操作  
    [索引]:
        [int]start()/end()  ##获取匹配值在字符串中的索引值头/尾
        [int]start(int[指定组])/end(int[指定组])  ##获取(指定组)匹配值在字符串中的索引值头/尾
    [查找]:
        [boolean]lookingAt()  ##查找开头
        [boolean]find()  ##查找下一个
        [boolean]find(int[头])  ##指定索引开始查找
        [boolean]matches()  ##对比整个区域
    [获取]:
        [String]group()  ##获取当前匹配值
        [String]group(int[指定组])  ##获取当前第(指定组)匹配值
    [替换]:
        [Matcher]appendReplacement(StringBuffer[目标串], String[替换])  ##添加和替换(find(),未完成)
        [StringBuffer]appendTail(StringBuffer[目标串])  ##添加和替换(最后一步)
        [String]replaceFirst(String[替换])   ##替换第一个子序列
        [String]replaceAll(String[替换])   ##替换所有子序列
        [String]quoteReplacement(String[替换])   ##返回替换的字符串
    java.util.regex.PatternSyntaxException:  ##非强制异常类
        [String]getDescription()  ##错误的描述
        [int]getIndex()  ##错误的索引
        [String]getPattern()  ##错误的正则表达式模式
    

正则

\符号                 ##’符号本身‘
\大写                 ##小写特殊意义相反
\uXXXX                ##4位十六进制数的Unicode 字符
\r, \n                ##回车, 换行符
\f                    ##换页符
\t                    ##制表符
\v                    ##垂直制表符
\b                    ##字边界(字与空格间的位置)


\d                    ##[0-9]
\w                    ##‘字母’’数字‘’下划线‘[A-Za-z0-9_]
\s                    ##’空白字符‘(空格、制表符、换页符等)
.                     ##’换行符以外‘([^\n])

[...]                 ##'匹配其中任意一个字符
[^...]                ##’非'匹配其中任意一个字符
[A-Z]                 ##匹配‘A’~‘Z’之间 的任意一个字母

{n}                   ##n次
{m,n}                 ##m~n次
{m,}                  ##最少m次
?                     ##{0,1}
+                     ##{1,}
*                     ##{0,}

^                     ##’开始‘
$                     ##‘结尾’
\b                    ##’单词边界‘([\w]和[^\w]之间)

|                     ##’或‘
(...)                 ##’整体‘‘单独得到‘

(...)(...)(...)       ##贪婪 
(...)(...?)(...)      ##非贪婪(尽可能少重复)

(...)(...(...)\3?)\1  ##对’()'匹配到的值'反向引用'

(?:...|...)           ##不获取匹配结果(下同) 
(?=...|...)           ##必须匹配(包含)  正向肯定预查
(?!...|...)           ##不匹配(不包含)  正向否定预查
(?<=...|...)          ##反向肯定预查
(?<!...|...)          ##反向否定预查

修饰符(标记):定界符 /(常用) #  !  {}  |   
/../i	              ##不区分大小写
/../g                 ##全局匹配
/../m	              ##多行匹配
/../s	              ##特殊字符圆点 . 中包含换行符 \n
/../U	              ##禁止贪婪匹配

js正则

#写法: /正则/修饰符
#修饰符
    - i	 ##不区分大小写
    - g  ##全局匹配(查找所有)
    - m	 ##多行匹配,如果目标字符串 中没有"\n"字符, 或者模式中没有出现^或$, 设置这个修饰符不产生任何影响
    - s	 ##如果设定了此修正符,那么.将匹配所有的字符包括换行符
    - U	 ##禁止贪婪匹配

正则应用

  • 非负整数

    ^\d+$
    
  • 正整数

    ^\d*[1-9]\d*$
    
  • 非正整数

    ^((-\d+)|(0+))$
    
  • 负整数

    ^-\d*[1-9]\d*$
    
  • 整数

    ^-?\d+$
    
  • 非负浮点数

    ^\d+(\.\d+)?$
    
  • 正浮点数

    ^((\d+\.\d*[1-9]\d*)|(\d*[1-9]\d*\.\d+)|(\d*[1-9]\d*))$
    
  • 非正浮点数

    ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
    
  • 负浮点数

    ^(-((\d+\.\d*[1-9]\d*)|(\d*[1-9]\d*\.\d+)|(\d*[1-9]\d*)))$
    
  • 浮点数

    ^(-?\d+)(\.\d+)?$
    
  • 日期

    ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1][0-9])|([2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$|\d{1,2}(\/)\d{1,2}(\/)\d{2}
    
  • 姓名:

    (王|李|张|刘|陈|杨|黄|赵|吴|周|徐|孙|马|朱|胡|郭|何|高|林|罗|郑|梁|谢|宋|唐|许|韩|冯|邓|曹|彭|曾|肖|田|董|袁|潘|于|蒋|蔡|余|杜|叶|程|苏|魏|吕|丁|任|沈|姚|卢|姜|崔|钟|谭|陆|汪|范|金|石|廖|贾|夏|韦|傅|方|白|邹|孟|熊|秦|邱|江|尹|薛|闫|段|雷|侯|龙|史|黎|贺|顾|毛|郝|龚|邵|万|钱|覃|武|戴|孔|汤|庞|樊|兰|殷|施|陶|洪|翟|安|颜|倪|严|牛|温|芦|季|俞|章|鲁|葛|伍|申|尤|毕|聂|柴|焦|向|柳|邢|岳|齐|沿|梅|莫|庄|辛|管|祝|左|涂|谷|祁|时|舒|耿|牟|卜|路|詹|关|苗|凌|费|纪|靳|盛|童|欧|甄|项|曲|成|游|阳|裴|席|卫|查|屈|鲍|位|覃|霍|翁|隋|植|甘|景|薄|单|包|司|柏|宁|柯|阮|桂|闵|欧阳|解|强|丛|华|车|冉|房|边|辜|吉|饶|刁|瞿|戚|丘|古|米|池|滕|晋|苑|邬|臧|畅|宫|来|嵺|苟|全|褚|廉|简|娄|盖|符|奚|木|穆|党|燕|郎|邸|冀|谈|姬|屠|连|郜|晏|栾|郁|商|蒙|计|喻|揭|窦|迟|宇|敖|糜|鄢|冷|卓|花|艾|蓝|都|巩|稽|井|练|仲|乐|虞|卞|封|竺|冼|原|官|衣|楚|佟|栗|匡|宗|应|台|巫|鞠|僧|桑|荆|谌|银|扬|明|沙|薄|伏|岑|习|胥|保|和|蔺|水|云|昌|凤|酆|常|皮|康|元|平|萧|湛|禹|无|贝|茅|麻|危|骆|支|咎|经|裘|缪|干|宣|贲|杭|诸|钮|嵇|滑|荣|荀|羊|於|惠|家|芮|羿|储|汲|邴|松|富|乌|巴|弓|牧|隗|山|宓|蓬|郗|班|仰|秋|伊|仇|暴|钭|厉|戎|祖|束|幸|韶|蓟|印|宿|怀|蒲|鄂|索|咸|籍|赖|乔|阴|能|苍|双|闻|莘|贡|逢|扶|堵|宰|郦|雍|却|璩|濮|寿|通|扈|郏|浦|尚|农|别|阎|充|慕|茹|宦|鱼|容|易|慎|戈|庚|终|暨|居|衡|步|满|弘|国|文|寇|广|禄|阙|东|殴|殳|沃|利|蔚|越|夔|隆|师|厍|晃|勾|融|訾|阚|那|空|毋|乜|养|须|丰|巢|蒯|相|后|红|权逯|盖益|桓|公|万俟|司马|上官|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|单于|太叔|申屠|公孙|仲孙|轩辕|令狐|钟离|宇文|长孙|慕容|鲜于|闾丘|司徒|司空|亓官|司寇|仉|督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓跋|夹谷|宰父|谷粱|法|汝|钦|段干|百里|东郭|南门|呼延|归海|羊舌|微生|帅|缑|亢|况|郈|琴|梁丘|左丘|东门|西门|佘|佴|伯|赏|南宫|墨|哈|谯|笪|年|爱|仝|代)[\u4e00-\u9fa5]{1,3}
    
  • 手机号:

    (13[0-9]|14[014-9]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}
    
  • 身份证号

    [1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9XxⅩⅹ]
    
  • 车牌号

    [京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}
    
  • 只含有汉字、数字、字母、下划线不能以下划线开头和结尾

    ^(?!_)(?!.*?_$)[a-zA-Z0-9_u4e00-u9fa5]+$
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值