我有一个小程序,允许用户输入一些正则表达式。之后,我想检查此输入是否为 有效的 正则表达式。
我想知道Java中是否有内置方法,但是找不到这种喷射器。
你能给我一些建议吗?
这是一个例子。
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class RegexTester {
public static void main(String[] arguments) {
String userInputPattern = arguments[0];
try {
Pattern.compile(userInputPattern);
} catch (PatternSyntaxException exception) {
System.err.println(exception.getDescription());
System.exit(1);
}
System.out.println("Syntax is ok.");
}
}
java RegexTester "(capture"
然后输出"Unclosed group"
,例如。
问题内容: 我有一个字符串。如何检查字符串是正则表达式还是包含正则表达式还是正常字符串? 问题答案: 您唯一可以做的可靠检查是,如果语法正确的是正则表达式: 但是请注意,即使对于像和这样的字符串,也会导致这种情况,因为从技术上讲,它们是有效的正则表达式。 唯一会返回的情况是不是有效正则表达式的字符串,例如或或。
问题内容: 我正在寻找Java代码来检查字符串是否为有效的XML。 问题答案: 用正则表达式验证XML是不可能的。XML不是常规语言。 使用XML解析器尝试将字符串解析为XML,或者对照模式(例如DTD或XSD文件)验证XML文档。
抱歉,如果这是重复的,我没有发现类似的问题,也许我错过了什么。。。 我将举例说明我想要什么: > 假设我们有一个用于检查电子邮件的简单正则表达式 私有静态最终字符串EMAIL_PATTERN = "^[_A-Za-z0-9-\\](\\.[_A-Za-z0-9-] )*@[A-Za-z0-9-](\\.[A-Za-z0-9])*(\\.[A-Za-z]{2,})$"; 我开始一个符号一个符号地输入
我需要的算法,将检查是否给定的表达式是中缀,后缀或前缀表达式。我尝试了一种方法,通过检查字符串的第一个或最后两个项,例如。 AB如果字符串的第一个索引中有一个运算符,那么它就是一个前缀 AB如果字符串的最后一个索引中有一个运算符,那么它就是一个后缀 否则它就是一个中缀。 但是感觉不太合适,所以请建议我一个更好的算法。
我需要一个正则表达式来检查和删除< code > membership user < code > userName 中的特殊字符。 当我第一次将网站设置为测试版时,我没有考虑到特殊字符不是获取用户名的好方法,“在我的应用程序中”。 下面我有一段模板代码,写得不太正确,但是给了愿意帮助的人一个好的开始。 --我需要从用户名中删除所有特殊字符和空格,同时更新用户名。 当我说我所说的特殊字符~、`、!
我有一个带两个可能输出的字符串,它将被<代码>