美文网首页
正则表达式

正则表达式

作者: 是什么样的心情 | 来源:发表于2019-06-01 20:18 被阅读0次

_ 在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。_

java正则入门

下面列举一些基础的概念

// 反斜杠
/t 间隔 ('/u0009')
/n 换行 ('/u000A')
/r 回车 ('/u000D')
/d 数字 等价于[0-9]
/D 非数字 等价于[^0-9]
/s 空白符号 [/t/n/x0B/f/r]
/S 非空白符号 [^/t/n/x0B/f/r]
/w 单独字符 [a-zA-Z_0-9]
/W 非单独字符 [^a-zA-Z_0-9]
/f 换页符
/e Escape
/b 一个单词的边界
/B 一个非单词的边界
/G 前一个匹配的结束

  • ^为限制开头
    ^java 条件限制为以Java为开头字符
  • 为限制结尾java
    条件限制为以java为结尾字符
  • . 条件限制除/n以外任意一个单独字符java..
    条件限制为java后除换行外任意两个字符
  • 加入特定限制条件「[]」
    [a-z] 条件限制在小写a to z范围中一个字符
    [A-Z] 条件限制在大写A to Z范围中一个字符
    [a-zA-Z] 条件限制在小写a to z或大写A to Z范围中一个字符
    [0-9] 条件限制在小写0 to 9范围中一个字符
    [0-9a-z] 条件限制在小写0 to 9或a to z范围中一个字符
    [0-9[a-z]] 条件限制在小写0 to 9或a to z范围中一个字符(交集)
  • []中加入后加再次限制条件「[]」
    [^a-z] 条件限制在非小写a to z范围中一个字符
    [^A-Z] 条件限制在非大写A to Z范围中一个字符
    [^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符
    [^0-9] 条件限制在非小写0 to 9范围中一个字符
    [^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符
    [^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)
    在限制条件为特定字符出现0次以上时,可以使用「
    J* 0个以上J
    .* 0个以上任意字符
    J.*D J与D之间0个以上任意字符
  • 在限制条件为特定字符出现1次以上时,可以使用「+」
    J+ 1个以上J
    .+ 1个以上任意字符
    J.+D J与D之间1个以上任意字符
  • 在限制条件为特定字符出现有0或1次以上时,可以使用「?」
    JA? J或者JA出现
  • 限制为连续出现指定次数字符「{a}」
    J{2} JJ
    J{3} JJJ
    文字a个以上,并且「{a,}」
    J{3,} JJJ,JJJJ,JJJJJ,???(3次以上J并存)
    文字a个以上,b个以下「{a,b}」
    J{3,5} JJJ或JJJJ或JJJJJ
  • 两者取一「|」
    J|A J或A
    Java|Hello Java或Hello

java中的正则表达式

在java中使用正则表达式时,在匹配.和\是要写成\\.和\\\\,其他的特殊符号匹配时也类似,要在符号前加两个反斜杠,这是为什么呢?
在java中,我们写的正则表达式首先要通过String的转义,比如正则“\\.”,它用来匹配符号.,而单独符号.在正则表示匹配所有字符,如果要匹配符号.则需要进行转义,用正则里的“.”表示,在java中如果直接使用“.”,java会报(Invalid escape sequence (valid ones are \b \t \n \f \r " ' \\)的错误,因为在java的转义字符中没有“.”,所以我们要用“\\”来转义“\”,这样“\.”就能匹配符号.了。\\\\的问题也类似。

  • 判断字符串是否表示数值
    string.matches("[\+-]?[0-9](\.[0-9])?([eE][\+-]?[0-9]+)?");

参考自:

理解java正则表达式怪异的\\和\\\\

java正则入门

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/nkjakttx.html