用于捕获“_”和“.”之间单词的正则表达式
Regex for capture the word between "_" and "."
我想使用正则表达式来查找 _ 和 之间的单词。在文件名中。
示例:如果文件名读取 ---- abc_resend.zip
我想 return "resend"
我的图案。
我尝试使用以下模式:"\_([a-z]*)\."
结果:_resend
.
尝试了以下模式来排除:"(?:\_)([a-z]*)(?:\.)
并且仍然得到相同的结果:_resend
.
我做错了什么?请帮忙。
问题是您正在寻找与此特定模式匹配的正则表达式。我不确定您使用的是哪种语言,但您想获得此结果,然后使用某种剥离方法从外部删除这两个字符。你会得到这个结果,因为你正在寻找它:下一步是因为你总是知道你会得到什么,所以使用 strip 方法删除其余部分。如果你让我知道你使用的是哪种语言,我可以帮你找到具体的语法。
.
是一个 special character in RegEx 所以如果你想匹配一个 .
字符你需要用 \
转义它。试试这个:_([a-z]*)\.
您可以使用带有此正则表达式的模式来解决您的问题 _(\w+)\.
:
String str = "abc_resend.zip";
Pattern pattern = Pattern.compile("_(\w+)\.");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
输出
resend
我想使用正则表达式来查找 _ 和 之间的单词。在文件名中。
示例:如果文件名读取 ---- abc_resend.zip
我想 return "resend"
我的图案。
我尝试使用以下模式:"\_([a-z]*)\."
结果:_resend
.
尝试了以下模式来排除:"(?:\_)([a-z]*)(?:\.)
并且仍然得到相同的结果:_resend
.
我做错了什么?请帮忙。
问题是您正在寻找与此特定模式匹配的正则表达式。我不确定您使用的是哪种语言,但您想获得此结果,然后使用某种剥离方法从外部删除这两个字符。你会得到这个结果,因为你正在寻找它:下一步是因为你总是知道你会得到什么,所以使用 strip 方法删除其余部分。如果你让我知道你使用的是哪种语言,我可以帮你找到具体的语法。
.
是一个 special character in RegEx 所以如果你想匹配一个 .
字符你需要用 \
转义它。试试这个:_([a-z]*)\.
您可以使用带有此正则表达式的模式来解决您的问题 _(\w+)\.
:
String str = "abc_resend.zip";
Pattern pattern = Pattern.compile("_(\w+)\.");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
输出
resend