java 怎么利用正则表达式从给定的字符串中取出匹配规则字符串

如题所述

import java.util.regex.*;
public class Email {
public static void main(String[] args) throws Exception {
String input = args[0];
//检测输入的EMAIL地址是否以 非法符号"."或"@"作为起始字符
Pattern p = Pattern.compile("^.|^@");
Matcher m = p.matcher(input);
if (m
//检测是否以"www."为起始
p = Pattern.compile("^www.");
m = p.matcher(input);
if (m
//检测是否包含非法字符
p = Pattern.compile("[^A-Za-z0-9.@_-~#]+");
m = p.matcher(input);
StringBuffer sb = new StringBuffer();
boolean result = m.find();
boolean deletedIllegalChars = false;
while(result) {
//如果找到了非法字符那么就设下标记
deletedIllegalChars = true;
//如果里面包含非法字符如冒号双引号等,那么就把他们消去,加到SB里面
m.appendReplacement(sb, "");
result = m.find();
}
m.appendTail(sb);
input = sb.toString();
if (deletedIllegalChars) {
System.out.println("输入的EMAIL地址里包含有冒号、逗号等非法字符,请修改");
System.out.println("您现在的输入为: "+args[0]);
System.out.println("修改后合法的地址应类似: "+input);
}
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

java 怎么利用正则表达式从给定的字符串中取出匹配规则字符串
利用正则表达式从给定的字符串中取出符合匹配规则的字符串的Java程序如下:import java.util.regex.Matcher;import java.util.regex.Pattern;public class E { public static void main(String[] args) { Pattern p = Pattern.compile("[A-Za-z]+");\/\/设定匹配规则为取出字符串中的字母 Matcher ...

java 怎么利用正则表达式从给定的字符串中取出匹配规则字符串
public static void main(String[] args) throws Exception { String input = args[0];\/\/检测输入的EMAIL地址是否以 非法符号"."或"@"作为起始字符 Pattern p = Pattern.compile("^.|^@");Matcher m = p.matcher(input);if (m \/\/检测是否以"www."为起始 p = Pattern.compile("^www.")...

使用JAVA从字符串中提取出符合要求的部分
public class ClassExample1 {public static void main(String args[]) {\/\/ 定义地址库List<String> cities = new ArrayList<String>();\/\/ 填充数据 ...cities.add("上海");cities.add("芜湖");\/\/ 待测数据String arg = "东华大学信息科学与技术学院,上海,201620;安徽师范大学数学计算机学院,...

求教java匹配规定函数的正则表达式怎么写
去掉字符串中匹配 的字符串 author zhujie return String regex 要替换的内容 value 字符串 state 替换的内容变成什么 \/ public static String toRegex(String regex, String value, String state) { Pattern p = Pattern.compile(regex);Matcher m = p.matcher(value);StringBuffer sb = new String...

java正则表达式处理一段字符串得到指定字符后面的字符,
var b=""{hello:{"名字":"李四"}}""var reg=new RegExp("李四","gi");var a=ret.exec(b);

java中假如我写了一个正则表达式^ \\\\d\\\\w$,那么如何返回匹配上这个表达 ...
import java.util.regex.Pattern;public class Utils { public String get(String raw) { Pattern pattern=Pattern.compile("^\\\\d\\\\w$");Matcher matcher=pattern.matcher(raw);if (matcher.find()) { return matcher.group();} else { return "";} } public static void main(String[] args...

java正则表达式截取字符串
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Hello { public static void main(String[] args) { String re = "\\\\[([^\\\\]]+)\\\\]";String str = "[您好],abcdefg,[abc]"; Pattern p = Pattern.compile(re);Matcher m = p.matcher(str); ...

JAVA正则表达式获取特定的字符串
"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;"(a│b)*c": 匹配含有这样多个(包括0个)a或b,后面跟一个c的字符串;一个点('.')可以代表所有的单一字符,不包括"\\n"如果,要匹配包括"\\n"在内的所有单个字符,怎么办?对了,...

怎么用java写一个正则表达式去匹配包含一个或多个“*”的字符串
*\\\\*+.*$");Matcher matcher = pattern.matcher(你要匹配的字符串);if(matcher.matches()){ \/\/TODO:匹配 } else { \/\/TODO:不匹配 } 上面的代码应该可以满足你的要求,不过你要判断是否包含一个*。为什么不直接用contains("*") 或者 indexOf("*") > 0 呢?呵呵,希望对你有所帮助。

用Java正则表达式来获取一个字符串中<>里面的内容。
String s = "dsadsadas<peter>dsadasdas<lionel>\\"www.163.com\\"<kenny><>";Pattern p = Pattern.compile("(<[^>]*>)");Matcher m = p.matcher(s);List<String> result=new ArrayList<String>();while(m.find()){ result.add(m.group());} for(String s1:result){ System.out....

相似回答