正则表达式学习笔记 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符

简介:

行的开始和结束 开始符号:^ 结束符号:$  如:^cat 应该理解为以c作为一行的第一个字符,紧接着是a,然后是t
例如:String str = "catabdcatdetfcat"
^cat : 验证该行以c开头紧接着是a,然后是t
cat$ : 验证该行以t结尾倒数第二个字符为a倒数第三个字符为c
^cat$: 以c开头接着是a->t然后是行结束:只有cat三个字母的数据行
^$   : 开头之后马上结束:空白行,不包括任何字符
^    : 行的开头,可以匹配任何行,因为每个行都有行开头
--------------------------------------------------------------------------------------------------------------
字符组:[]表示:"或" 如:[abc]:a或者b或者c
例如:String str = "My Name is YangKai";
a[mn] : 查找a后面是m或者n的单词
[Nn][ag] : 查找N或者n后面是a或者g的单词
--------------------------------------------------------------------------------------------------------------
字符组内的连字符:- 表示:范围从开始到结束,
连字符'-'只有出现在字符组内部的时候才是连字符,其他情况只表示字符:"-"没有特殊意义
如果字符'-'出现在字符组内的第一个位置或者出现在字符组内的脱字符"^"之后,则该字符不是连字符只是一个字符而已
例如:String num = "012C34A5B!#@$-%$^%&&*&(-)*)&6FR7GD89";
[2-6] : 查找2到6之间的数字
[A-R] : 查找从A到R之间的字符
[2-6A-R] : 查找从2到6从A到R之间的字符
[2-6A-R!@^&*] : 查找从2到6从A到R之间的字符和!@^&*等特殊字符
[-2-6A-R]   :查找从2到6从A到R之间的字符和-
---------------------------------------------------------------------------------------------------------------
脱字符:^ :当^出现在字符组内的第一个位置时表示:排除,即:除了....之外的,
如果脱字符没有在[]字符组的第一个位置,那么该^仅表示一个字符,没有特殊意义
[^0-9] : 查找字符串中除数字外的字符
[^2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符外的所有字符
[^-2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符和"-"外的所有字符(此处"-"只是一个字符,没有连字符的含义)
注意一下这种情况:
String str = "abcdabcd";
如果我们用表达式:d[^0-9] 只能匹配到字符串中的da,而不能匹配结尾处的d,因为结尾处的d没有任何东西让脱字符^去排除
如果我们在结尾加上一个空格的话,就可以匹配到了
-----------------------------------------------------------------------------------------------------------------
用"."去匹配任意字符
例如:03/19/76 03-19-76 03.19.76 可以用03[-/.]19[-/.]76去匹配,同样可以用03.19.76去匹配,但是03.19.76也可能匹配到
03-19A76,因为"."可以匹配任何字符
注意:如果"."放在字符组外面的话表示元字符,但是如果放在字符组里面,则表示一个普通的"."

目录
相关文章
|
4月前
正则表达式的限定符、或运算符、字符类、元字符、贪婪/懒惰匹配
本文介绍了正则表达式中的限定符、或运算符、字符类、元字符以及贪婪与懒惰匹配的概念和用法。
44 5
|
4月前
|
Python
【Python】正则表达式判断是否存在连续相同的两个字符,连续两个字符一模一样
Python函数isContinuousChar,使用正则表达式来检测字符串中是否存在连续的相同字母或数字,并返回存在此类字符的列表长度,如果列表长度为0则表示不存在连续相同的字符。
165 2
|
6月前
|
人工智能 Java 数据格式
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
48 3
|
7月前
|
Java
Java正则表达式去掉非汉字字符
【5月更文挑战第11天】Java正则表达式去掉非汉字字符
156 3
正则表达式中的字符详解
正则表达式中的字符详解
98 1
|
7月前
|
监控 JavaScript 前端开发
|
7月前
|
Java
38、Java 中的正则表达式(单字符匹配和预定义字符)
38、Java 中的正则表达式(单字符匹配和预定义字符)
40 0
|
7月前
|
人工智能 JavaScript
js正则表达式new RegExp(表达式, “gi“)不区分大小写、忽略大小写匹配替换字符
js正则表达式new RegExp(表达式, “gi“)不区分大小写、忽略大小写匹配替换字符
|
Python
132 python高级 - 正则表达式(表示字符)
132 python高级 - 正则表达式(表示字符)
79 0
|
Shell
shell中正则表达式中字符的应用具体实例以及详解
shell中正则表达式中字符的应用具体实例以及详解
142 3