java正则表达式 1 -- 符号
正则表达式主要是用于操作字符串的规则
1 首先体验一下正则表达式:
需求:某个串只能是数字
传统方法:
 public class Demo2{
     public static void main(String[] args) {
         //只能输入数字
         String str = "124354232";
         char[] arr = str.toCharArray();
         boolean flag = true;
         for(int i = 0 ;  i< arr.length ; i++){
             if(!(arr[i]>=48&&arr[i]<=57)){
                 flag = false;
             }
         }
         System.out.println(flag?"输入正确":"输出只能是数字");
     }
 }
用正则表达式:
 public class Demo2{
     public static void main(String[] args) {
         //只能输入数字
         String str = "12435423a2";
         boolean flag = str.matches("[0-9]+");
         System.out.println(flag?"输入正确":"只能输入数字");
     }
 }
2 正则表达式的符号
预定义字符类
| 
 .  | 
 任何字符(与行结束符可能匹配也可能不匹配)  | 
|
| 
 \d  | 
 数字:[0-9]  | 
|
| 
 \D  | 
 非数字: [^0-9]  | 
|
| 
 \s  | 
 空白字符:[ \t\n\x0B\f\r]  | 
|
| 
 \S  | 
 非空白字符:[^\s]  | 
|
| 
 \w  | 
 单词字符:[a-zA-Z_0-9]  | 
|
| 
 \W  | 
 非单词字符:[^\w]  | 
|
| 
 System.out.println("a".matches(".")); System.out.println("1".matches("\\d")); System.out.println("%".matches("\\D")); System.out.println("\r".matches("\\s")); System.out.println("^".matches("\\S")); System.out.println("a".matches("\\w"));  | 
||
Greedy 数量词
| 
 X?  | 
 X,一次或一次也没有  | 
| 
 X*  | 
 X,零次或多次  | 
| 
 X+  | 
 X,一次或多次  | 
| 
 X{n}  | 
 X,恰好n次  | 
| 
 X{n,}  | 
 X,至少n次  | 
| 
 X{n,m}  | 
 X,至少n次,但是不超过m次  | 
| 
 System.out.println( "a".matches(".") ); System.out.println( "a".matches("a") ); System.out.println("a".matches("a?") ); System.out.println( "aaa".matches("a*") ); System.out.println( "".matches("a+") ); System.out.println( "aaaaa".matches("a{5}") ); System.out.println( "aaaaaaaaa".matches("a{5,8}") ); System.out.println( "aaa".matches("a{5,}") ); System.out.println( "aaaaab".matches("a{5,}") );  | 
|
范围表示
| 
 [abc]  | 
 a、b 或 c(简单类)  | 
| 
 [^abc]  | 
 任何字符,除了 a、b 或 c(否定)  | 
| 
 [a-zA-Z]  | 
 a 到 z 或 A 到 Z,两头的字母包括在内(范围)  | 
| 
 [a-d[m-p]]  | 
 a 到 d 或 m 到 p:[a-dm-p](并集)  | 
| 
 [a-z&&[def]]  | 
 d、e 或 f(交集)  | 
| 
 [a-z&&[^bc]]  | 
 a 到 z,除了 b 和 c:[ad-z](减去)  | 
| 
 [a-z&&[^m-p]]  | 
 a 到 z,而非 m 到 p:[a-lq-z](减去)  | 
| 
 System.out.println( "a".matches("[a]") ); System.out.println( "aa".matches("[a]+") ); System.out.println( "abc".matches("[abc]{3,}") ); System.out.println( "abc".matches("[abc]+") ); System.out.println( "dshfshfu1".matches("[^abc]+") ); System.out.println( "abcdsaA".matches("[a-z]{5,}") ); System.out.println( "abcdsaA12".matches("[a-zA-Z]{5,}") ); System.out.println( "abcdsaA12".matches("[a-zA-Z0-9]{5,}") ); System.out.println( "abdxyz".matches("[a-c[x-z]]+")); System.out.println( "bcbcbc".matches("[a-z&&[b-c]]{5,}")); System.out.println( "tretrt".matches("[a-z&&[^b-c]]{5,}"));  | 
|
java正则表达式 1 -- 符号的更多相关文章
- Java正则表达式入门——转自RUNOOB.COM
		
Java 正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. Java正则表达式和Perl的是最为相似 ...
 - java正则表达式【大全】
		
[正则表达式]文本框输入内容控制整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$& ...
 - 【转】java正则表达式
		
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu ...
 - java正则表达式四种常用的处理方式是怎么样呢《匹配、分割、代替、获取》
		
java 正则表达式高级篇,介绍四种常用的处理方式:匹配.分割.替代.获取,具体内容如下package test; import java.util.regex.Matcher; import jav ...
 - java正则表达式语法详解及其使用代码实例
		
原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...
 - java 正则表达式学习
		
一. Java正则表达式 在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂. 因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段. 正则表达式是一种可 ...
 - JAVA正则表达式语法大全
		
[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n ...
 - JAVA 正则表达式 (超详细)
		
(PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇.作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中 ...
 - Java 正则表达式漏洞
		
由于工作原因,一直没有时间把在线上遇到的问题总结一下.还好,今天我来了. 废话少说了. 主要说一下“java 正则表达式中的一个漏洞”,详细问题描述 http://bugs.sun.com/bugda ...
 
随机推荐
- Java项目中的下载 与 上传
			
使用超级链接下载,一般会在浏览器中直接打开,而不是出现下载框 如果要确保出现下载框下载文件,则需要设置response中的参数: 1是要设置用附件的方式下载 Content-Disposition: ...
 - xcode运行时候   You don’t have permission.
			
xcode 不能运行,提示没有权限 是因为使用第三方框架有plist文件存在
 - poj 1236 Network of Schools : 求需要添加多少条边成为强连通图 tarjan O(E)
			
/** problem: http://poj.org/problem?id=1236 缩点后入度为0的点的总数为需要发放软件的学校个数 缩点后出度为0的点的总数和入度为0的点的总数的最大值为需要增加 ...
 - 导入项目后,js文件报错解决方法
			
导入项目后,发现 js文件报错,但是js文件是从官网下载的.解决办法: 选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执 ...
 - 因为之前完全没有接触过Spring,所以准备先把spring实战看完再落实项目
			
因为之前完全没有接触过Spring,所以准备先把spring实战看完再落实项目
 - tomcat+nginx+keepalived的配置
			
tomcat+nginx+keepalived的配置 1.在官网上下载Tomcat 2.将压缩包解压,并且移动到/opt/data/的目录下. .tar.gz /opt/data/ 3.进入到Tomc ...
 - python网络编程的坑(持续更新)
			
初学python,踩了许多坑...每天都学一点吧..(大佬绕过) 1.session的用法: session是python requests库中的一个重要功能.session可以存储用户的数据并且存储 ...
 - 016---Django的ModelForm
			
对于forms组件虽然可以帮我们渲染html页面,也可以做校验,但是,保存到数据库要取各字段的值,还要手动保存.所以引入了一个新的组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把 ...
 - ABAP CDS ON HANA-(11)ABAP CDSでの関連付け
			
Association in ABAP CDS An association in CDS view joins different data sources. Defining and using ...
 - Javaweb——四则运算---18.11.01
			
---恢复内容开始--- test.jsp <%@ page language="java" contentType="text/html; charset=utf ...