关于Regex例子
来源:互联网 发布:阿里云 ecs 带宽 编辑:程序博客网 时间:2024/06/16 13:21
日期:
public static void main(String args[]){String str = "1983-07-27"; // 指定好一个日期格式的字符串String pat = "\\d{4}-\\d{2}-\\d{2}"; // 指定好正则表达式Pattern p = Pattern.compile(pat); // 实例化Pattern类Matcher m = p.matcher(str); // 实例化Matcher类if (m.matches()){ // 进行验证的匹配,使用正则System.out.println("日期格式合法!");}else{System.out.println("日期格式不合法!");}}
例子2:
// 单词边界 \bprivate static final String REGEX = "\\bdog\\b";private static final String INPUT = "dog dog dog doggie dogg";public static void main(String[] args){Pattern p = Pattern.compile(REGEX);Matcher m = p.matcher(INPUT); // 获得一个匹配器对象int count = 0;while (m.find()){count++;System.out.println("Match number " + count);System.out.println("start(): " + m.start());System.out.println("end(): " + m.end());}}//Match number 1//start(): 0//end(): 3//Match number 2//start(): 4//end(): 7//Match number 3//start(): 8//end(): 11
例子3:取出字符,也就是按照数字拆分
public static void main(String args[]){// 要求将里面的字符取出,也就是说按照数字拆分String str = "A1B22C333D4444E55555F" ;// 指定好一个字符串String pat = "\\d+" ;// 指定好正则表达式Pattern p = Pattern.compile(pat) ;// 实例化Pattern类Matcher m = p.matcher(str) ;// 实例化Matcher类的对象String newString = m.replaceAll("_") ;System.out.println(newString) ;}//A_B_C_D_E_F
例子4:
public static void main(String args[]){String str1 = "A1B22C333D4444E55555F".replaceAll("\\d+", "_");boolean temp = "1983-07-27".matches("\\d{4}-\\d{2}-\\d{2}");String s[] = "A1B22C333D4444E55555F".split("\\d+");System.out.println("字符串替换操作:" + str1);System.out.println("字符串验证:" + temp);System.out.print("字符串的拆分:");for (int x = 0; x < s.length; x++){System.out.print(s[x] + "\t");}}//字符串替换操作:A_B_C_D_E_F//字符串验证:true//字符串的拆分:ABCDEF
例子5:
public static void main(String args[]){String info = "LXH:98|MLDN:90|LI:100"; // 定义一个字符串// 拆分的形式:/* * LXH --> 98 * MLDN --> 90 * LI --> 100 */String s[] = info.split("\\|");System.out.println("s[]:"+s[0]);System.out.println("字符串的拆分:");for (int x = 0; x < s.length; x++){String s2[] = s[x].split(":");System.out.println(s2[0] + "\t" + s2[1]);}}//s[]:LXH:98//字符串的拆分://LXH98//MLDN90//LI100
匹配号码:
public boolean startCheck(String reg, String string){boolean result = false;Pattern pattern = Pattern.compile(reg);Matcher matcher = pattern.matcher(string);result = matcher.matches();return result;}/** * 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数 * */public boolean checkCellPhone(String cellPhoneNr){//String reg = "^[1][\\d]{10}";String reg = "^(13|14|15|16|17|18|19|)\\d{9}$"; //以13、15、18开头 return startCheck(reg, cellPhoneNr);}/** * 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位 * */public boolean checkPhoneNr(String phoneNr){String regex = "^[0]\\d{2,3}\\-\\d{7,8}";return startCheck(regex, phoneNr);}/** * 格式:6767676, 号码位数必须是7-8位,头一位不能是"0" * */public boolean checkPhoneNrWithoutCode(String phoneNr){String reg = "^[1-9]\\d{6,7}";return startCheck(reg, phoneNr);}/** * 格式:0106767676,共11位或者12位,必须是0开头 * */public boolean checkPhoneNrWithoutLine(String phoneNr){String reg = "^[0]\\d{10,11}$";return startCheck(reg, phoneNr);}
- 关于Regex例子
- 活用regex的例子
- boost regex 简单例子
- Regex之平衡组例子
- std::regex用法,简单例子
- Regex---正则表达式的坑爹例子
- Regex
- Regex
- Regex
- Regex
- regex
- Regex
- regex
- Regex
- regex
- Regex
- regex
- Regex
- [CloudBox] 基于跨平台框架的愤怒鸟滑动按钮范例
- 动态库与静态库
- 第⑨周实验报告④
- core调试
- Android中View绘制流程以及invalidate()等相关方法分析
- 关于Regex例子
- android开发新浪微博客户端 完整攻略 [新手必读]
- CMake with Eclipse:UNIX Makefile Generator
- 2012年4月9日
- 呵呵,今天看了一些管理学的科普文章,感觉还不错
- 第8周任务3(实现分数类中的运算符重载)
- hdu 3976 Electric resistance 高斯消元
- SSH中.动态获取spring IoC容器中管理的bean,dao
- 图像处理技术 —— 模板匹配算法