百度
360搜索
搜狗搜索

java正则表达式判断特殊字符,Java 判断以2位数字+特定字母开头的字符串的正则表达式怎么写?详细介绍

本文目录一览: java用正则表达式判定特殊字符是否,存在就替换的问题?

至少有两种正则表达式的方法:
1、直接调用String类的replaceAll(String regex, String replacement)方法
代码:
String ss = "aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp";
ss.replaceAll("[\\[\\]\\{\\}]", "");//返回结果,可打印或返回
优点:简单
缺点:不具有通用性,需求变动则不适用,例如[{dd}]替换成DD
2、通过匹配规则来截取字符串
代码:
String ss = "aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp";
//正则表达式,表示由非[、]、{、}的任意字符构成
String tmp = "[^\\[^\\{^\\]^\\}.]";
//正则表达式,由5组构成第一组是普通字符串,第二组是"[{"字符串,第三组是普通字符串,第四组是"}]"字符串,第五组是普通字符串
Pattern pattern = Pattern.compile("(" + tmp + "*)(\\[\\{)(" + tmp + "*)(\\}\\])(" + tmp + "*)");
Matcher matcher = pattern.matcher(ss);
StringBuffer result = new StringBuffer();
while(matcher.find()) {
result.append(matcher.group(1) + matcher.group(3) + matcher.group(5));
}
//result就是最终结果。
优点:具有一定的通用性,可自己定制需要的字符串,新字符串可以由原字符串的部分组成,也可与其他字符拼装,能更好满足可重用性,例如需求变更成[{dd}]替换成DD,代码只需将result.append(matcher.group(1)+matcher.group(3)+matcher.group(5));换成result.append(matcher.group(1)+matcher.group(3).toUpperCase()+matcher.group(5));就能完成
缺点:代码较长
PS:StringBuffer可转化成String再返回
[\[\{\}\]]+
在java中
String ss = ss.replaceAll("[\\[\\{\\}\\]]+", "");
String的replaceAll方法可以使用正则表达式进行搜索并替换,但不改变原字符串,如果需要改变原字符串,则需要用赋值语句:
ss=ss.replaceAll("正则表达式","替换内容");
比如将"aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp"里的[{等特殊符号去掉:
ss=ss.replaceAll("\W","");

java如何判断字符是否含有特殊字符?

一般都是使用正则表达式,如下代码:\x0d\x0apublic static final String DEFAULT_QUERY_REGEX = "[!$^&*+=|{}';'\",/?~!#¥%??&*——|{}【】‘;:”“'。,、?]"; \x0d\x0a \x0d\x0a/** \x0d\x0a * 判断查询参数中是否以特殊字符开头,如果以特殊字符开头则返回true,否则返回false \x0d\x0a * \x0d\x0a * @param value \x0d\x0a * @return \x0d\x0a * @see {@link #getQueryRegex()} \x0d\x0a * @see {@link #DEFAULT_QUERY_REGEX} \x0d\x0a */ \x0d\x0apublic boolean specialSymbols(String value) { \x0d\x0a if (StringUtil.isBlank(value)) { \x0d\x0a return false; \x0d\x0a } \x0d\x0a Pattern pattern = Pattern.compile(getQueryRegex()); \x0d\x0a Matcher matcher = pattern.matcher(value); \x0d\x0a \x0d\x0a char[] specialSymbols = getQueryRegex().toCharArray(); \x0d\x0a \x0d\x0a boolean isStartWithSpecialSymbol = false; // 是否以特殊字符开头 \x0d\x0a for (int i = 0; i < specialSymbols.length; i++) { \x0d\x0a char c = specialSymbols[i]; \x0d\x0a if (value.indexOf(c) == 0) { \x0d\x0a isStartWithSpecialSymbol = true; \x0d\x0a break; \x0d\x0a } \x0d\x0a } \x0d\x0a \x0d\x0a return matcher.find() && isStartWithSpecialSymbol; \x0d\x0a} \x0d\x0a\x0d\x0a/** \x0d\x0a * 获取查询过滤的非法字符 \x0d\x0a * \x0d\x0a * @return \x0d\x0a */ \x0d\x0aprotected String getQueryRegex() { \x0d\x0a return DEFAULT_QUERY_REGEX; \x0d\x0a}

java判断字符串中是否包含特定字符串

使用String 类中的函数 contains(String s);
boolean containsAny(String str, String searchChars) {
if(str.contains(searchChars))
return true;
else
return false;
}
}
if(str.indexOf("searchChars")!=-1){
return true;
}
else{
return false;
}
boolean key = str.contains(searchChars);
return key;
static boolean containsAny(String str, String searchChars){
return str.contains(searchChars);
}
java判断字符串中包含特定字符串方法:
使用正则表达式进行判断。
源代码:
public class Test { public static void main(String[] args) { String str="Hello World"; //待判断的字符串 String reg=".*ll.*"; //判断字符串中是否含有特定字符串ll System.out.println(str.matches(reg)); }}

java正则表达式如何判断字符串中是否含有特殊字符

/[^\da-zA-Z_\- ]/g;
如果true,则含有其他字符
public class Test2 {
public static void main(String[] args){
String s = "123asdqwe__123 rew-trafgds";
if(s.replaceAll("[a-z]*[A-Z]*\\d*-*_*\\s*", "").length()==0)
System.out.println("input correct");
else
System.out.println("input incorrect");
}
}

java正则表达式过滤特殊字符

String regexp = "[^'\"%]*";String string = "abc%";System.out.println (string.matches (regexp));
public class Test40032 { public static void main(String[] args) { String regx = "['\"%]"; String input = "11%11"; System.out.println(input); Pattern p = Pattern.compile(regx); Matcher m = p.matcher(input); System.out.println(!m.find()); }}

阅读更多 >>>  学java需要什么软件,学java用啥软件

java用正则表达式判定特殊字符是否,存在就替换的问题?

1、正则
[\[\]{}]
2、直接文本替换也很方便。
String ss = "aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp";
System.out.println(ss.replaceAll("[\\[{,}\\]]*", ""));
使用的是正则表达式。其中中括号为关键字,意思是符合中括号里面的内容,因此要想去掉原有string中的[和],则不需加上\进行特殊标识,指定为字符而非正则表达式元素。
方法和讲解完毕,有不清楚的可以再学学正则表达式。
来分吧,哈哈

正则表达式 获取某段特殊字符怎么表示?

(?<=\[(code)\]).*(?=\[\/\1\])
我猜你问的关键是“之间”吧,知识点:
零宽度正预测先行断言(?=exp),零宽度正回顾后发断言(?<=exp)
e.g
[code]aaaaabbbaaaaa[/code] 会匹配到 aaaaabbbaaaaa
正则表达式测试器没问题,但在flash里会不会出什么幺蛾子就没试了,毕竟flash的这则表达式有点诡异。
select 语句,字符*加在前后,*表示任意多个任意字符
可以用这个正则表示:
\\[code\\](.*)\\[/code\\]
括号里面就是你想要的内容吧。。。我写了个JAVA的示例代码。。。希望对你有帮助。。。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = "[code]abcdefg[/code]";
String result = new String();
Pattern pattern = Pattern.compile("\\[code\\](.*)\\[/code\\]");
Matcher matcher = pattern.matcher(s);

if(matcher.find())
result = matcher.group(1);

System.out.println(result);
}
}
运行结果:abcdefg
希望能帮到你。。。。。

java 正则表达式 一个字符串string 里面不能包含:?() 特殊字符,正则表达式怎么写呢?

s.matches("^.*[(/)|(\\\\)|(:)|(\\*)|(\\?)|(\")|(<)|(>)].*$");
String reg = "^[^\\/\\:\\*\\?\"<>]+$";String str = "";str.matches(reg);

Java 判断以2位数字+特定字母开头的字符串的正则表达式怎么写?

^(\d{2}E)[^']*
经测试没问题,那个E可以换成你要的任何字母
按照你的要求验证以2位数字+特定字母开头的字符串的正则表达式(例如 特定字母为AB)
^[0-9][0-9]AB.*$
我给你一个Java语言的例子你看看吧
import java.util.regex.Matcher;import java.util.regex.Pattern;public class AA { public static void main(String[] args) { String str="12ABeafwe9weqr"; String regex="^[0-9][0-9]AB.*$"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("验证通过"); }else{ System.out.println("验证不通过"); } }}运行结果验证通过

网站数据信息

"java正则表达式判断特殊字符,Java 判断以2位数字+特定字母开头的字符串的正则表达式怎么写?"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java正则表达式判断特殊字符,Java 判断以2位数字+特定字母开头的字符串的正则表达式怎么写?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!