您的位置:首页 > 其它

关于正则表达式

2015-10-23 23:45 211 查看
1:什么是正则表达式?

正则表达式是字符串操作的一种逻辑公式,它用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,可以达到如下目的:

(1)判断给定的字符串是否符合正则表达式的过滤逻辑(称为“匹配”);(2)可以通过正则表达式,从字符串中提取想要的特定部分。

2:举例说明它的执行过程

执行过程如下:

定义正则规则:  String pat = "\\w+[@](\\w+[.])+[a-z|A-Z]{2,10}"

产生正则标准: Pattern pattern = Pattern.compile(pat);

产生正则验证器:Matcher m = pattern.mather(email);

执行正则验证器: boolean flag = m.matches();

正则表达式,用来检测输入输出是否符合规则

3:常用的正则表达式及其含义:

正则表达式用^开头   $结尾

            ()代表一整体 
             | 代表或
            \ 代表转义
           []代表字符要在[]中    []中的- 代表 多少到多少 []中的^代表非
 
           ?代表前面字符为0~1个  +代表前面字符为1~n个   *代表前面字符为0~n个
           
           \d 代表数字  \D代表非数字
           \w 代表英文字母 \W代表非英文字母

          {n}代表正好n个
          {n,}代表>=n个
          {n,m}代表 >=n <=m个

这些是比较常用的

4:例子:

例如:
检查输入必须为6位数字
正则: ^\d{6}$  或  ^[0-9]{6}$  或 ^[0-9][0-9][0-9][0-9][0-9][0-9]$

检查email
正则: ^[A-Za-z0-9_]+[@][A-Za-z0-9_]+[.]((.com)|(.net)|(.cn))$  

java中String中的 matches()方法用于检测字符串是否符合正则表达式,符合返回true 否则false

String a ="123456";
System.out.println(a.maches("^\\d{6}$")); //这边\要多加一个,因为JAVA中\也是转移的意思。所以要转两次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: