80,472
社区成员




"^\\w+\\d.{5,}|\\w"
music_name = “201206cet4”;
Pattern pattern = Pattern.compile("^\\w+\\d{5,}|\\w");
Matcher matcher = pattern.matcher(music_name);
判断matcher.matches()的值为false.
music_name = “201206cet4”;
Pattern pattern = Pattern.compile("^\\w+\\d{5,}|\\w");
Matcher matcher = pattern.matcher(music_name);
判断matcher.matches()的值为false.
[/quote]
matches()函数是判断字符串整体是否符合正则表达式
201206确实能匹配到正则上 但是你的正则结尾是数字 所以后边加上字幕就不匹配了[/quote]
多谢,你的意思是cet搞的鬼,它们陪不上\d? 现在看起来这个错误太明显。明天再试试,结贴给分。再次谢谢。
music_name = “201206cet4”;
Pattern pattern = Pattern.compile("^\\w+\\d{5,}|\\w");
Matcher matcher = pattern.matcher(music_name);
判断matcher.matches()的值为false.
[/quote]
matches()函数是判断字符串整体是否符合正则表达式
201206确实能匹配到正则上 但是你的正则结尾是数字 所以后边加上字幕就不匹配了^\\w+\\d{5,}|\\w
目的是过滤掉以英文字符开头并且含5个以上数字的字符串,但发现没有过滤掉形如,0604a_3907413nGf,BBC0702_243243223snP,
201206cet4。前两个因为包含"_"的原因没匹配上,但为什么201206cet4也没能匹配上呢?或者你有更好的表达式吗?