我正在处理正则表达式匹配问题。问题是,我想匹配一个超过7的字符串(任何字符,包括数字,字母,特殊字符)。我正在使用下面的表达式(我删除了头部和结尾符号)但是没有按照我的想法工作。有什么想法吗?
"((\\w|W){7,})"
Java代码:
final String VALID_REGEX =
"^((\\w{2,6})" // 2 to 6 characters
+ "(?:[\\r\\n]{1,3})" // 1 or 3 carriage returns
+ "([\\w\\W]{7,})" // equal to or more than 7 characters or spaces
+ "(?:[\\r\\n]{1,3})" // 1 or 3 carriage returns
+ "(?:[\\w\\W])*"; // Any text
Pattern regExPattern = Pattern.compile(VALID_REGEX, Pattern.DOTALL);
String content = new String(Files.readAllBytes(Paths.get("/home/hqu/Downloads/test.txt")));
Matcher noMatcher = regExPattern.matcher(content);
if(noMatcher.matches())
System.out.println("match");
else
System.out.println("not match");
输入:
答案 0 :(得分:0)
不太确定,但请更换
“([\ W \ W] {7,})”
与
“([\ w |] {7,})”
适用于我的测试用例。