java正则表达式(regular)

Posted 王飞侠

tags:

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

 

哎呀妈呀,脑瓜疼----正则表达式

     正则是用来处理复杂文本类型的

标准字符集合:

\\d --->代表0-9任意一个数字

\\D ---->除了数字之外的任意字符

\\w ----->字母(大小写)数字,下划线全匹配

\\W ----->除了字母数字下划线之外的所有字符

\\s ----->空格,换行,制表符

\\S ----->除了空格换行制表符之外的所有字符

. ----->匹配任意字符除了换行符

自定义字符集合(***)

使用[] 的匹配方式,匹配[]内的字符,  在[] 内使用  ^ 表示取反  - 表示从哪到哪区间
[qp3@] ----->匹配 q 或者 p 或者3 或者@的字符

[a-f] ------>匹配a-f之间的字符

[^a-v0-7]---->匹配除了a-v 0-7之间的字符

量词使用:修饰匹配次数的特殊符号

{n} ---->表达式重复n 次
  \\d{6}: 匹配6位数字
  {\\d\\d}{6}:匹配12位数字
{m,n} ---->表达式至少重复m次,最多重复n次 是贪婪模式,如果有 n次会一直往上追加n次

{m,n}? -----> 最多重复m次,非贪婪模式

{m,} ------->至少m次,m+都算

? --------->匹配表达式0次或者一次 相当于{0,1}
  a/d?b :匹配 ab a5b
+ ---------->至少一次 相当于{1,}
  a/d+b :匹配 a2b a34b

* ---------->都要相当于{0,}


字符边界:是位置,不是字符

^ ------>字符开始的地方
  ^o:以o开始的字符串
$ ------>字符串结束的地方
  o$ :以o结束的字符串
\\b ------>不全是/w的表示
  qw\\b : 只会配置这种 qw 123qw

 

手机号码匹配

1[358]\\b{9}  ------1开头,第2位可以是3 .5.8 其他9位数字

邮箱匹配

[\\w\\-]+@[a-zA-Z0-9]+(\\.[A-Za-z]{2,5}){1,2}

 

常用的正则匹配

 

 

java 使用正则:

使用到 java.util包下的 Pattern 创建正则表达式 以及Matcher 两个对象

    Pattern p= Pattern.compile("\\\\d");  //创建正则表达式

    Matchr m =p.matcher("ddeff34");//需要匹配的正则

    while(m.find()){

    m.group();//取出

  }

 

原创打造,多多指教

java 中正则表达式是啥意思???(regular Expression)。

计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。追问

用你自己的话说说 谢谢。

参考技术A 正则表达式和语言无关,应该是计算机相关数学中的定义。
如果你知道什么是状态机,明白状态图是怎么转换的,理解正则表达式可能会容易些。
一个正则表达式是对特定数据生成规则的一种描述或者说是一种约束。
参考技术B 一套处理java字符串的API,用于在目标字符串查找符合特定规则的字串。相关的处理类Pattern,Matcher.一个例子:
public static void main(String args[])//检测字符串是否符合全是数字的规则。
Pattern p=Pattern.compile("[0-9]+");
String src="2432432rwe";
Matcher m=p.matcher(src);
System.out.println(m.matches()?"字符串src是全部有数字组成的":"src不全是数字");

另外,String类中也有用正则表达式处理字符串的函数,如字符串的分割split(regex)等。本回答被提问者采纳

以上是关于java正则表达式(regular)的主要内容,如果未能解决你的问题,请参考以下文章

java 中正则表达式是啥意思???(regular Expression)。

Regular Expression(正则表达式)之邮箱验证

通过 Java 正则表达式提取 semver 版本字符串的片段

Robot Framework Regular Expression 正则表达式 处理String

day4 正则表达式(regular)

Regular Expression