public class samppatmatch {
private boolean validatingpswwithpattern(String password){
String math="[a-zA-z0-9]+[(]+(?:[^\\]+|\\.)*";
Pattern pswNamePtrn =Pattern.compile(math);
boolean flag=false;
Matcher mtch = pswNamePtrn.matcher(password);
if(mtch.matches()){
flag= true;
}
return flag;
}
public static void main(String args[]){
samppatmatch obj=new samppatmatch();
boolean b=obj.validatingpswwithpattern("");
System.out.println(b);
}
}
我收到上述代码的此类异常:
java.util.regex.PatternSyntaxException: Unclosed character class near index 28
表达式无效。
结束括号将是escape,因为您在表达式中使用了“\\]”。
解决方案1:您可以使用like“\\\]”
。
或
解决方案2:您可以处理异常以获得如下用户友好消息,
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class samppatmatch {
private boolean validatingpswwithpattern(String password) {
boolean flag = false;
try {
String math = "[a-zA-z0-9]+[(]+(?:[^\\]+|\\.)*";
Pattern pswNamePtrn = Pattern.compile(math);
Matcher mtch = pswNamePtrn.matcher(password);
if (mtch.matches()) {
flag = true;
}
} catch (PatternSyntaxException pe) {
System.out.println("Invalid Expression");
}
return flag;
}
public static void main(String args[]) {
samppatmatch obj = new samppatmatch();
boolean b = obj.validatingpswwithpattern("Admin@123");
System.out.println(b);
}
}
表达式[^\\]
会导致正则表达式编译器崩溃(@KevinEsche在评论中指出),因为结束括号]
被转义了。如果您想创建一个包含\
的字符类,您还需要转义它,以便字符类在Java字符串中看起来像这样:[^\\\\]
我正在用java编写正则表达式,但在运行程序时出错。 我想让我的正则表达式与这些示例值匹配。 我用在线regex助手尝试了它,我的regex实际上工作得很好。但当我在中运行程序时,会出现以下错误: 另一个问题是,如何格式化正则表达式,以便也可以将其与此字符串匹配? 谢谢 [编辑] 你能帮我回答这部分问题吗? 另一个问题是,如何格式化正则表达式,以便也可以将其与此字符串匹配? MyKey="ID I
这是我在专有名词周围查找相邻单词的代码。我收到下面提到的这段代码的错误。我尝试添加不同的排列和反斜杠和结束括号的组合,但仍然收到错误。将感谢帮助。 我得到的错误是: 线程“main”java中出现异常。util。正则表达式。PatternSyntaxException: 索引44附近的未关闭字符类([^\s]\s[^\s])\s[]\s([^\s]\s[^\s])\s 句子-Cyprium Min
索引12附近的未闭合字符类\b]([^。(|[]))^ 上面的正则表达式工作得很好,但是它在java上不工作,我无法检测出导致它的问题是什么。 有人能帮帮我吗? 提前感谢
当我在Eclipse IDE中打开Cucumber编辑器时,我收到以下错误- 我在之前的一次执行中收到此错误,因为我的步骤定义文件中有一个错误。我已经修复了这个问题,当我再次尝试打开功能文件时,我收到了这个错误。有人能帮我解决这个问题吗。已附加功能文件和程序。即使重新运行也不起作用。 代码 打开功能文件时Eclipse IDE出错截图:Eclipse中Cucumber编辑器错误
我试图在Java中使用这个正则表达式 ,以获取SQL中的表,我得到以下错误: 我找不到错误。 提前感谢您的帮助
我正在尝试替换字符串中的所有方括号。 这是我的节目 但我正在 有谁能告诉我如何更换所有方括号吗??