关于正则表达式
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中\也是转移的意思。所以要转两次
正则表达式是字符串操作的一种逻辑公式,它用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,可以达到如下目的:
(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中\也是转移的意思。所以要转两次
相关文章推荐
- <%@ include file=""%>和<jsp:include page="c.jsp"></jsp:include>区别
- 约瑟夫问题
- const_iterator
- 图解NodeJS【基于事件、回调的单线程高性能服务器】原理
- 第二百零四天 how can i 坚持
- domino 流程图的功能
- 【Unity】C#使用sqlite作为数据库解决方案思路
- Oracle Gateways透明网关访问SQL Server
- 学习中的菜鸟之异常处理
- SharedPreferences使用
- iOS生命周期简单演示
- Linux环境安装配置Swftools
- 05-doc-values-es控制聚合内存使用-elasticsearch权威指南翻译
- IOS开发 - 多线程 NSOperation
- 数组名和数组名取地址的区别
- LiteHttp 第十四节:回调监听器详解
- 04-fielddata-filtering-es控制聚合内存使用-elasticsearch权威指南翻译
- GoAhead 嵌入式web
- 【鸟哥的linux私房菜-学习笔记】Linux的档案权限与目录配置
- LiteHttp 第十三节:多层缓存机制及用法