如何匹配 - 任何{100Chars} + MyString +任何{100Chars}?我需要保存左右字符串。 这个东西不起作用(没有找到模式字符串是text,leftContext为RightContext是null):
String text="*SomeText*";
String word = hello;
int nLeft=100;
int nRight=100;
String wordDelRegEx = "[^a-zA-Z0-9.-]+?";
String leftRegEx = "[\\w]{" + nLeft + "}";
String rightRegEx = "[\\w]{" + nRight + "}";
String contextRe = leftRegEx + wordDelRegEx + word + wordDelRegEx + rightRegEx;
Pattern pattern = Pattern.compile(contextRe);
Matcher matcher = pattern.matcher(Text);
while (matcher.find()) {
leftContext = matcher.group(1);
rightContext = matcher.group(2);
}
System.out.println("Left: " + leftContext);
System.out.print("Right: " + rightContext);
例如我有文字:
如果你还没找到它,继续寻找。不要安定下来。就像内心的所有事情一样,当你找到它时,你就会知道。而且,就像任何伟大的关系一样,随着岁月的流逝,它会越来越好。
word="heart", nLeft=5, nRight=5
我想看到的输出:
Left: " the "
Right: ", you"
答案 0 :(得分:3)
添加捕获括号:
String leftRegEx = "(\\w{" + nLeft + "})";
String rightRegEx = "(\\w{" + nRight + "})";