您的位置:首页 > 其它

正则表达式使用方式以及以及简单的例子

2015-03-24 21:31 225 查看
今天对正则表达式做一个简单的小结具体使用方式如下所示

* 1. call this Pattern class's static method compile,the argument in this method is user-defined Regular Expression,return Pattern type object

通过调用Pattern类静态方法compile返回一个Pattern的对象

* 2. call pattern's method matcher, argument is the string that need to be judged,return a matcher type object

调用Pattern对象的matcher方法设置起正则表达式,返回一个Matcher类型的对象

* 3. matcher object from previous step, call it's matches(),return a value of boolean type

通过调用macher类型对象的match方法对自定义的字符串进行匹配判断

* 5. if the value is true, matched successfully,else failed

返回值为true匹配成功,否则匹配失败

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
*
* @author zero
* Rule:How to use Regular Expression
* 1. call this Pattern class's static  method compile,the argument in this method is user-defined Regular Expression,return Pattern type object
* 2. call pattern's method matcher, argument is the string that need to be judged,return a matcher type object
* 3. matcher object from previous step, call it's matches(),return a value of boolean type
* 5. if the value is true, matched successfully,else failed
*/

public class RegularExpression {

//Email formation test,just a simple test
/**
*
* @param str : string that need to be judged
* @return result
*/
public static boolean emailJudged(String str) {
Pattern pattern = Pattern.compile("[\\w]{3,10}@[\\w]{0,6}[\\.]{1}[\\w]{2,6}");
//3-10位的任意字符  @符号一个   0-6任意字符  .符号一个   2-6个任意字符
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) {
System.out.println(str + "邮箱验证成功");
return true;
}else {
System.out.println(str + "邮箱验证失败");
return false;
}
}

public static boolean ipAddressJudged(String str) {
Pattern pattern = Pattern.compile("(25[0-5]|2[0-4]\\d|1?\\d?\\d\\.){3}[25[0-5]|2[0-4]\\d|1?\\d?\\d]");
//250-255或200-249或0-199(第一位) 加上一个。   重复三次  最后一位数去掉。
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) {
System.out.println(str + "ip地址验证成功");
return true;
}else {
System.out.println(str + "ip地址验证失败");
return false;
}
}

public static void main(String[] args) {
emailJudged("395516123@qq.com");
emailJudged("werwea@gqq.");

ipAddressJudged("192.179.1.1");
ipAddressJudged("192.256.1.1");

}
}


另外给出网上对于正则表达式的一些表达方式的小结

字符类
匹配的字符
\d
匹配一个数字字符。等价于 [0-9]。

\D
匹配一个非数字字符。等价于 [^0-9]。

\w
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。

\W
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。

\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
.(点号)
任一字符
[...]
括号中的任一字符
[^…]
非括号中的任一字符
^

其后的模式必须在字符串的开始处,如果是多行则在任一行的开始C#需要设定Multiline标志
$
前面的模式必须在一行的末尾,如果是多行,则在任意行的末尾
\A
前面的模式必须在字符串的开始处;多行标志被忽略
\z
前面的模式必须在字符串的末尾处,多行标志被忽略
\Z
前面的模式必须位于字符串的末尾或位于换行符前
\b
匹配一个单词字符的开始,单词字符是[a-zA-Z0-9]中的一位
\B
匹配一个非单词边界的位置, 不在一个单词的开始
{n}

匹配前面的字符n次
{n,}
匹配前面的字符最少n次
{n,m}
匹配前面的字符n至m次
?
匹配前面的字符0次或1次
+
匹配前面的字符至少1次
*
匹配前面的字符至少0次
| 指定字符替换,即该位置可以是|两边的任一个表达式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐