string match java_java String matches 正则表达

package test;

/**

* 在String的matches()方法,split()方法中使用正则表达式.

* @author fhd001

*/

public class RegexTest {

public static void main(String[] args) {

/*

* 普通字符

*/

String str1 = "abc45abc345";

String[]arr1 = str1.split("abc");

for (String string : arr1) {

System.out.print(string+"-->");

}

System.out.println();

/*

* 简单的转义字符

* 在java中转义字符时一定要用双反斜线,两个斜线转义成一个斜线,

* 在用这个斜线字符转义那些特殊字符.

*/

String str2 = "^$()[]{}.?+*|";

boolean flag = str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|");

System.out.println(flag);

/*

* 转义字符 /Q.../E.

*/

String str3 = "^$()[]{}.?+*|99999";

boolean flag2 = str3.matches("//Q^$()[]{}.?+*|//E//d{5}");

System.out.println(flag2);

/*

* 字符集合

*/

String str4 = "dfddri334";

boolean flag4 = str4.matches(".+");

System.out.println(flag4);

String str5 = "#$%^*())%";

boolean flag5 = str5.matches("//W{9}");

System.out.println(flag5);

String str6 = "4gffmdkekrhhr";

boolean flag6 = str6.matches("//w+");

System.out.println(flag6);

String str7 = "fjfdke    eett ";

boolean flag7 = str7.matches("//w+//s+//w{4}//s?");

System.out.println(flag7);

String str8 = "   erefff    ";

boolean flag8 = str8.matches("//s+//S+//s+");

System.out.println(flag8);

String str9 = "456776888";

boolean flag9 = str9.matches("//d+");

System.out.println(flag9);

String str10 = "rtydfgrgwvr  ";

boolean flag10 = str10.matches("//D+");

System.out.println(flag10);

/*

* 自定义字符集合 [ ]

*/

String str11 = "fdfeetg  34566";

boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+");

System.out.println(flag11);

String str12 = "rtyuie   5768";

boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+");

System.out.println(flag12);

/*

* 匹配次数限定符

*/

//贪婪模式

String str13 = "ytreggcv454444444333";

boolean flag13 = str13.matches("//w{20}");

System.out.println(flag13);

boolean flag14 = str13.matches("//w{10,21}");

System.out.println(flag14);

boolean flag15 = str13.matches("//w{18,}");

System.out.println(flag15);

String str14 = "4";

boolean flag16 = str14.matches("//d?");

System.out.println(flag16);

String str15 = "ddcvgt";

boolean flag17 = str15.matches("//D+//d?");

System.out.println(flag17);

String str16 = "e33tf44t44t";

boolean flag18 = str16.matches("//w+//W*");

System.out.println(flag18);

//勉强模式(只举一例)

String str17 = "34567ghjkkld";

boolean flag19 = str17.matches("//d{2,7}?//w{8,11}");

System.out.println(flag19);

//占有模式(只举一例)

String str18 = "22222ddddd";

boolean flag20 = str18.matches("//d{2,5}+//w{6}");

System.out.println(flag20);

/*

* 字符边界

*/

String str19 = "a444545rot44tm";

boolean flag21 = str19.matches("^a//w+m$");

System.out.println(flag21);

/*

* 选择表达式 xxx | xxx

*/

String str20 = "abc123abc";

boolean flag22 = str20.matches("(abc|123){3}");

System.out.println(flag22);

/*

* 分组 ( ).

* 以上修饰符都是针对一个字符进行修饰.如果要对一组字符进行

* 修饰就要用到()

*/

String str21 = "123qwe123qwe";

boolean flag23 = str21.matches("(123qwe){2}");

System.out.println(flag23);

/*

* []中的交集与并集

*/

String str22 = "abcdefgh1234567";

boolean flag24 = str22.matches("[a-z1-9]+");        //并集

System.out.println(flag24);

boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集

System.out.println(flag25);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值