9.JAVA中的正则表达式

Posted 疯狂的肉包

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.JAVA中的正则表达式相关的知识,希望对你有一定的参考价值。

  • 一、JAVA中的正则表达式

  • 1.概念:以某种特定的方式描述字符串
  • 1.Java中正则表达式的规则
  • ?          #{0,1}-?有一个-或者没有
  • \\           #表示一个”\"
  • \\d         #表示一个数字
  •  \\D       #非数字
  • f\\W+    #表示f开头的单词
  • \\W       #表示一个非单词字符
  • \\w       #表示一个单词字符[0-9A-Za-z-]包含’-’
  • \\s        #空白符号
  • \\S       #非空白符号
  • (-|\\+)?\\d+  #表示一个数字(正数负数都可以)
  • {m,n}数量
  • *           #{0,}
  • +          #{1,}
  • .          #任意的字符 除了“\n”
  • 正则表达式中的一个\————\\
  •                          一个+---\\+
  •                          一个.————\\.
  • System.out.println("193.12.1.0".matches("(\\d{1,3}\\.){3}\\d{1,3}"));——true
 
  • 2.String提供的正则表达式运算
  • 运算一:split(String arg);—return String[];
  • split(” “,int max);//限制分离的次数最多时max次
  • 按照arg进行split,给定的字符会被删除
 
  • 运算二: 替换单词(一个||多)
  • replaceFirst(“f\\w+”,“location”);//替换第一个出现的f开头的单词 
  • replaceAll(“f\\w+”|”g\\w+”|”z\\w+”,”location");//替换全部的单词—String.replace(String)一样,后者不支持正则表达式
  • eg:
  • String string=new String(“Hello String ass");
  • string.replaceFirst(“H\\w+|S\\w+”,”abc”);//abc String ass
  • string.replaceAll(“H\\w+|S\\w+”,”abc”);//abc abc ass
 
  • 运算三:matches()
  • String str=new String();
  • if(str.matches(“Y\\w+”))  //
 
  • 3.创建正则表达式
  • 字符类
System.out.println("A".matches("[ABC]"));//判断单词是不是"ABC"三个字母中的一个"ABC".contains("A")
System.out.println("r".matches("[^ABC]"));//判断单词是否不含A、且包含BC
System.out.println("d".matches("[a-zA-Z]"));//判断是不是字母
System.out.println("a".matches("[ABC[abc]]"));//跟[ABCabc]是一样的吧
System.out.println("h".matches("[a-z&&[hij]]"));//首先是小写字母,其次必须是[hij]中的字母
 
  • 量词
  • .   除了\n之外的任意字符 -----不是量词
  • *   表示0-无穷   .*表示0-n个字符
  • +  表示1-无穷   .+表示1-n个字符
 
  • 备注:JAVA正则表达式中需要转义的符号
  • 1.”+”——>”\\+”;
  • 2.”.”—— >”\\.”;
  • 3.”\\”——>”\\”;

 

以上是关于9.JAVA中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式在js中的用法

c# 正则表达式提取()中的值

4-19 Linux中的正则表达式 --- 字符匹配

shell中的正则表达式

正则表达式如何匹配提取括号中的内容

如何用正则表达式匹配括号中的内容,不包含括号