<分区>
我需要获取 by_ 和 _on 之间的字符串。
到目前为止我有这个,但不明白如何截断实际的“字符串定界符”:
by_(.*)_on
示例输入:
Files_by_wesasegeaazedude_on_January_26.jpg
当前匹配:
by_wesasegeaazedude_on
需要匹配:
wesasegeaazedude
<分区>
我需要获取 by_ 和 _on 之间的字符串。
到目前为止我有这个,但不明白如何截断实际的“字符串定界符”:
by_(.*)_on
示例输入:
Files_by_wesasegeaazedude_on_January_26.jpg
当前匹配:
by_wesasegeaazedude_on
需要匹配:
wesasegeaazedude
最佳答案
你的表情很好*。您需要做的就是提取第一个捕获组的内容:
Pattern regex = Pattern.compile("by_(.*)_on");
String str = "Files_by_wesasegeaazedude_on_January_26.jpg";
Matcher m = regex.matcher(str);
if (m.find()) {
String res = m.group(1);
}
* 嗯,差不多好了。如果您希望在同一行输入多个文件名,您可能需要考虑使用不情愿的限定符,即 by_(.*?)_on
关于java - 需要一个正则表达式来提取两个 "delimiting"字符串之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652669/