正则表达式

正则表达式:符合一定规则的表达式
功能:用于专门操作字符串
特点:用于一些特定的符号来表示一定的代码操作,这样简化书写
好处:可以简化对字符串的复杂操作
弊端:符号定义越多,正则越长,阅读性极差
规则:
[abc]//a 或b 或c
[^abc]//除了abc
[a-d[m-p]]//a-d 或者m-p(并集)
[a-e&&[def]]//d或者e(交集)
.任意字符
\d  数字[0-9]  //因为java中"\"是转义字符所以\\d表示数字
\D  非数子[^0-9]
\w  单词字符[a-zA-Z_0-9]
\W  非单词字符

数量词:
?表示一次或一次也没有
* 表示0次或多次
+:一次或多次
{n}恰好n次
{n,m}


具体操作:
1、匹配:String matches()方法

2、切割:split()方法
正则表达式里用.切割时,要写\\. 因为.在正则表达式里表示任意字符
按照叠词完成切割   String reg="(.)\\1"   \\1 后一个字符与前一个字符一样   \\1+  表示出现一次或多次

3、替换:replaceAll()
叠词里替换成单个用到$1
String str="aassddexdddkossskck";
 String reg="(.)\\1+";//连续出现多次的词
 String newstr="$1";//只用一个词替换
 str=str.replaceAll(reg, newstr);
 System.out.println(str);

4、获取:将字符串中符合规则的子串取出
操作步骤:m.find();m.group();

        String str="ni hao wo shi li gui fang";
 String reg="\\b[a-z]{2}\\b";//\\b 单词边界
 
Pattern p=Pattern.compile(reg);//将规则封装成pattern对象
Matcher m=p.matcher(str);//让正则对象和要作用的字符串关联起来

 while(m.find()){  //m.find() 将该规则作用到字符串上 并进行符合规则的字符串查找
  System.out.println(m.group());// 获取匹配后的结果
  System.out.println(m.start()+"...."+m.end());//角标
 }


思路:
1、如果只想知道该字符是对是错 使用匹配
2、想要将已有的字符串变成另一个字符串 替换
3、想要按照自定义的方式将字符串变成多个字符串 用切割
4、想要拿到符合规则的字符串 获取

可以用Integert.paseInt();Long.paseLong();//来判断只能是数字 Long类型的位数高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值