检查字符串的规则,比如是不是以字母开头,长度是否超过八位,是否包括大写字母等等……
可以采用传统的Java代码(或JavaScript代码)来进行挨个判断处理,但会很低效。为了解决这类问题,正则表达式是一个很好的工具,Java提供了对正则表达式这个工具的支持。
正则表达式是一种规则,不隶属于任何一种语言。
正则表达式案例:
目录
一:单个字符的匹配
1.正则表达式的匹配条件是单个字符;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
2.正则表达式的匹配条件是两个字符都可以;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
3.正则表达式的匹配条件是一个字符集合;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
4.正则表达式的匹配条件是一个字符集合,只是这个集合可以写成一个如0-9的范围;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
5.正则表达式的匹配条件是不希望出现某些字符;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
二:几个案例:
一:单个字符的匹配
【单个字符的匹配】:(1)正则表达式规定了匹配条件;(2)会根据正则表达式定义的匹配条件,逐个字符的检验原字符串的字符,符合匹配条件的字符就匹配出来,不符合匹配条件的字符就匹配不出来;(3)每次匹配的结果都是单个字符;如下图所示:假如原字符串由8个字符组成,根据正则表达式匹配成功了3次,得到了3个匹配结果【单个字符】;
:开源中国提供的正则表达式测试工具,可以用来测试正则表达式
1.正则表达式的匹配条件是单个字符;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
2.正则表达式的匹配条件是两个字符都可以;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
如果输入的是x|y,其意思是分别匹配两个单个字符。1的延伸;
这个就是分别匹配A和j
3.正则表达式的匹配条件是一个字符集合;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
字符集合中的每个元素的单独匹配。这也是1的延伸;
这个就是分别匹配中括号中的字符:
4.正则表达式的匹配条件是一个字符集合,只是这个集合可以写成一个如0-9的范围;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
这个多用于0-9,a-z,A-Z这些;是3的一种特例形式;
对于0123456789,abcd……yz,AB……YZ这些字符,可以采用下面的简写形式:
5.正则表达式的匹配条件是不希望出现某些字符;【单次匹配的结果也是单个字符,自然一个包含多个字符的字符串可以匹配成功多次】
5是基于3、4的写法的,只是[^]在中括号中多写一个^即可
下面的这个例子是,匹配出字符串中所有不是u字符的字符,
二:几个案例:
注意(1)和(2)中的h[ae]llo这种形式;这种用法在实际中可能会解决很多需求!
注:还是上面所说的要注意(1)和(2)中的h[ae]llo这种形式;这种用法在实际中可能会解决很多需求!这种用法说白了就是,“字符串匹配”,即正则表达式的匹配条件是一个字符串,只是这个字符串中的有些字符是没有定死的;