深圳网站建设公司团队霞浦建设局网站
web/
2025/10/3 19:11:07/
文章来源:
深圳网站建设公司团队,霞浦建设局网站,北京设计装修公司排名,郑州网站建设三牛考虑到此时读者不知道何为正则表达式#xff1a;
我需要验证一个字符串是否符合qq号码的规则#xff0c;我们采取已有知识进行验证
import java.util.Scanner;public class Main{public static void main(String[] args){//正则表达式理解为一种规则//这种规则就是用来校验…考虑到此时读者不知道何为正则表达式
我需要验证一个字符串是否符合qq号码的规则我们采取已有知识进行验证
import java.util.Scanner;public class Main{public static void main(String[] args){//正则表达式理解为一种规则//这种规则就是用来校验字符串的校验数据格式的合法性//核心思想先把异常数据进行过滤然后再考虑正常数据Scanner sc new Scanner(System.in);System.out.println(请输入一个qq号码);String number sc.next();Boolean flag checkQQ(number);System.out.println(qq号码flag);}public static boolean checkQQ(String qq) {//6-20位0不能在开头必须全部是数字int len qq.length();if (len 6 || len 20) {return false;}char c qq.charAt(0);if (c 0) {return false;}for (int i 0; i len; i) {char d qq.charAt(i);if (d 0 || d 9) {return false;}}return true;}
}
这样写的逻辑是复杂的较为浪费时间因此我们选择采用API正则表达式来完成工作
import java.util.Scanner;public class Main{public static void main(String[] args){//正则表达式理解为一种规则//这种规则就是用来校验字符串的校验数据格式的合法性//核心思想先把异常数据进行过滤然后再考虑正常数据Scanner sc new Scanner(System.in);System.out.println(请输入一个qq号码);String number sc.next();;boolean match number.matches([1-9]\\d{5,19});System.out.println(qq号码match);
}
接下来我们补充一些正则表达式的判断条件
import java.util.Scanner;public class Main{public static void main(String[] args){//正则表达式理解为一种规则//这种规则就是用来校验字符串的校验数据格式的合法性//核心思想先把异常数据进行过滤然后再考虑正常数据//我们可以粗略的将正则表达式的作用分成两个方向//a:校验字符串是否满足规则//b:在一段文本中查找满足要求的内容//正则表达式规则//在正则表达式中[]代表一种范围// [abc] 意味着字符串只能出现abc// [^abc] 意味着除了abc以外的所有字符// [a-zA-Z]a到z A到Z包括范围// [a-d[m-p]]a到d或者m到p// [a-z[def]] a-z和def的交集为 def// [a-z[^bc]] a-z与非bc的集合System.out.println(------------------1----------------);System.out.println(a.matches([abc]));//trueSystem.out.println(z.matches([abc]));//falseSystem.out.println(------------------2----------------);System.out.println(a.matches([^abc]));//falseSystem.out.println(z.matches([^abc]));//trueSystem.out.println(zz.matches([^abc]));//falseSystem.out.println(zz.matches([^abc][^abc]));//true//预定义的字符// . 匹配任何字符// \d 一个数字[0-9]// \D 非数字:[^0-9]// \s 一个空白字符// \转义字符 改变后面后面字符原本的含义System.out.println(\\);//这里在后面加一个\的时候 的特殊含义就被去掉了//表示任何一个字符 .System.out.println(你.matches(..));//falseSystem.out.println(你.matches(.));//trueSystem.out.println(你a.matches(..));//true// \\d是任意一位数字System.out.println(a.matches(\\d));//不行 是一位非数字System.out.println(3.matches(\\d));//可以 是一位且数字System.out.println(333.matches(\\d));//不行 不是一位数字// \\w是一位单词字符System.out.println(z.matches(\\w));//trueSystem.out.println(2.matches(\\w));//trueSystem.out.println(21.matches(\\w));//falseSystem.out.println(你.matches(\\w));//false// 非单词字符 \\WSystem.out.println(你.matches(\\W));//trueSystem.out.println(——————————————————————————);//必须是数字 字母 下划线 六位System.out.println(2442fsfsf.matches(\\w{6,}));}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86373.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!