我想用正则表达式找到_和之间的单词。在文件名中。
示例:如果文件名为---- abc_resend.zip
我希望我的模式返回"resend"
。
我尝试使用以下模式:"\_([a-z]*)\."
结果:_resend
。
尝试排除以下模式:"(?:\\_)([a-z]*)(?:\\.)
我仍然得到相同的结果:_resend
。
我做错了什么?请帮忙。
答案 0 :(得分:1)
问题在于您正在寻找与此特定模式匹配的正则表达式。我不确定你写的是哪种语言,但你想得到这个结果,然后使用某种条带方法从外面删除这两个字符。你会得到这个结果,因为你正在寻找它:下一步是因为你总是知道你会得到什么,使用条带方法去除其余部分。如果您让我知道您正在使用哪种语言,我可以帮助您跟踪具体语法。
答案 1 :(得分:1)
.
是special character in RegEx,因此如果您想匹配\
字符,则需要使用.
转义它。试试这个:_([a-z]*)\.
答案 2 :(得分:1)
您可以使用此正则表达式<script type="text/javascript">
$(".middle_toggle").click(function () {
$(".middle").slideToggle(20, function() {
$(".colapse_bar").toggleClass('middle_colapsed');
$("#colapse_icon").toggleClass("colapse_fix colapse_fix2");
if ($('.middle').is(":hidden")) {
var main_height2 = ($(document).height() - 125);
$(".main").css('height', main_height2);
}
if ($('.middle').is(":visible")) {
var main_height2 = ($(document).height() - 355);
$(".main").css('height', main_height2);
}
});
});
</script>
:
_(\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));
}