我正在尝试使用“java.util.regex.Pattern”从文本文件中捕获分配操作。我一直非常沮丧试图修复我的正则表达式以真正识别我正在寻找的内容。我尽可能地简化了问题,并发现了拾取空白的问题。
这篇文章被证明是有帮助的,并阐明了处理空白字符集的问题,但没有回答为什么以下内容不起作用的问题:
Pattern p = Pattern.compile("adfa =");
Scanner sc = new Scanner("adfa =");
if(sc.hasNext(p))
{
String s = sc.next(p);
System.out.println(">" + s + "<");
}
else
System.out.println(":(");
如果我试试这个:
Pattern p = Pattern.compile("\\w+ *=");
拾取以下字符串:
"adfa="
但不是:
"adfa ="
只需进行以下更改:
Pattern p = Pattern.compile("adfa=");
Scanner sc = new Scanner("adfa=");
一切按预期工作!任何人都可以阐明发生了什么问题吗?