「java异常类型正则匹配」java数据类型不匹配异常
本篇文章给大家谈谈java异常类型正则匹配,以及java数据类型不匹配异常对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java正则匹配问题
如果用你的表达式去匹配就有个问题:
中间的.*(任意字符串)可能包括有"/span",所以当去匹配字符串:span id="aa"(任意字符串)/spanspan id="bb"(任意字符串)/span的时候,.*就匹配了"(任意字符串)/spanspan id="bb"(任意字符串),因此找到了整个一行,而不是你要的第一个span。
正在想该怎么写呢~~~
java正则表达式
Java 正则表达式和 Perl 的是最为相似的,正则表达式就是规则表达式。
Java中正则表达式与之前使用的Python是有区别的,区别在于Java对于反斜线(\)处理的不同。 在Python中”\d”表示 匹配一位数字(0-9),而Java中匹配一位数字(0-9),需要的正则表达式为”\\d”。 不过换行符和制表符只需要单反斜线“\n\t”。
正则表达式定义了字符串的模式。可以用来搜索、编辑或处理文本。不仅限于某一种语言,但是在每种语言中有细微的差别。
Java 正则匹配
String paStr = "(ShowArticle\\.jsp\\?id=)(\\d{5})\"";
String text1 = "a href=\"/templet/news/ShowArticle.jsp?id=11111\" target=\"\" class=\"\"若干中文字符不带标点符号长度任意/a";
Pattern pa = Pattern.compile(paStr);
Matcher ma = pa.matcher(text1);
if(ma.find()){
System.out.println("OK "+ma.group(2)); //符合要求
}else{
System.out.println("NOK ");//不符合要求的密码
}
请参考,自己扩展一下
请问JAVA中正则表达式匹配怎么实现的!
Java中正则表达式匹配的语法规则:
以下是整理出来的Java下运用正则表达式实现匹配的程序案例,代码如下:
package org.luosijin.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式
* @version V5.0
* @author Admin
* @date 2015-7-25
*/
public class Regex {
/**
* @param args
* @author Admin
* @date 2015-7-25
*/
public static void main(String[] args) {
Pattern pattern = Pattern.compile("b*g");
Matcher matcher = pattern.matcher("bbg");
System.out.println(matcher.matches());
System.out.println(pattern.matches("b*g","bbg"));
//验证邮政编码
System.out.println(pattern.matches("[0-9]{6}", "200038"));
System.out.println(pattern.matches("//d{6}", "200038"));
//验证电话号码
System.out.println(pattern.matches("[0-9]{3,4}//-?[0-9]+", "02178989799"));
getDate("Nov 10,2009");
charReplace();
//验证身份证:判断一个字符串是不是身份证号码,即是否是15或18位数字。
System.out.println(pattern.matches("^//d{15}|//d{18}$", "123456789009876"));
getString("D:/dir1/test.txt");
getChinese("welcome to china,江西奉新,welcome,你!");
validateEmail("luosijin123@163.com");
}
/**
* 日期提取:提取出月份来
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getDate(String str){
String regEx="([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
if(!matcher.find()){
System.out.println("日期格式错误!");
return;
}
System.out.println(matcher.group(1)); //分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是m.group(0)。
}
/**
* 字符替换:本实例为将一个字符串中所有包含一个或多个连续的“a”的地方都替换成“A”。
*
* @author Admin
* @date 2015-7-25
*/
public static void charReplace(){
String regex = "a+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("okaaaa LetmeAseeaaa aa booa");
String s = matcher.replaceAll("A");
System.out.println(s);
}
/**
* 字符串提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getString(String str){
String regex = ".+/(.+)$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
if(!matcher.find()){
System.out.println("文件路径格式不正确!");
return;
}
System.out.println(matcher.group(1));
}
/**
* 中文提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getChinese(String str){
String regex = "[//u4E00-//u9FFF]+";//[//u4E00-//u9FFF]为汉字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while(matcher.find()){
sb.append(matcher.group());
}
System.out.println(sb);
}
/**
* 验证Email
* @param email
* @author Admin
* @date 2015-7-25
*/
public static void validateEmail(String email){
String regex = "[0-9a-zA-Z]+@[0-9a-zA-Z]+//.[0-9a-zA-Z]+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
if(matcher.matches()){
System.out.println("这是合法的Email");
}else{
System.out.println("这是非法的Email");
}
}
}
java正则表达式匹配
因为java的正则表达式在是字符串里的,\是java字符串中的转义符。\也是正则表达式中的转义符。那么只加一个\的话,只能说明在字符串中转义符,而java需要进一步把普通字符串中的\变成正则表达式中的\,像是更深一则转化的意思,这样\\以后的意思是正则表达式中的转义符(\)。
要把\把变成正则表达式中的\,所以\\是转义了一个\
我的回答简而言之,在java中(别的语言有别的规矩),正则表达式字符串,和普通字串是两个东西。
java异常类型正则匹配的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数据类型不匹配异常、java异常类型正则匹配的信息别忘了在本站进行查找喔。
发布于:2022-12-23,除非注明,否则均为
原创文章,转载请注明出处。