匹配这个字符串的正则表达式怎么写?"用户1-ww-1-8#用户2-eeeee-1-9#……"其中……代表可能有一个或者多个!谢谢! 具体的格式为:字符串-字符串-数字-数字#字符串-字符串-数字-数字#……其中……代表可能有一个或者多个!没接触过正则!多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样好像不行?(\\w+-\\w+-\\d{1,3}-\\d{1,3}#)+ (\\w+-\\w+-\\d+-\\d+#)+应该可以的吧。 我现在写的是这样子:((\\w+||[\u4E00-\u9FA5]*)-\\w+-\\d{1,4}-\\d{1,4}#)+正常的字符串是:用户w1-abc2-1-8#可是,当我要匹配的字符串为:用-#户we1-ww-1-8#也能够匹配,为什么? [^-]+[-][^\d-]+[-]\d+[-]\d+[#]用户1-ww-1-8#用户1中不能包含 "-" ,所以要匹配不包含 "-" 的所有字符,你的那个没有屏蔽 "-" 谢谢,不过不知道您试过了没有!我这边还是可以通过 用-#户we1-ww-1-8# 这样的字符串 System.out.print("用-#户we1-ww-1-8#".matches("[^-]+[-][^\\d-]+[-]\\d+[-]\\d+[#]")); ([^-]+[-][a-z]+[-]+\\d{1,4}[-]\\d{1,4}[#])*这个不知道行不行啊! 下载 RegexBuddy 一步一步调试。www.lostcoders.net 有试用版下载。 (^([用户]\\w+[-]\\w+[-]\\d+[-]\\d+[#])+$)这样应该没问题 谢谢大家,我简化了一下,可是我用同一个字符串,以下两种方法匹配出来的结果有时候会不同,那位知道为什么?例如:方法一:Pattern pattern = Pattern.compile("([^-#]+[-][^-#]+[#])+");Matcher matcher = pattern.matcher("用-#户-userone#用户-usertwo#");System.out.println(matcher.find());方法二:System.out.println("用-#户-userone#用户-usertwo#".matches("([^-#]+[-][^-#]+[#])+")); 因为find()方法是只要目标字符串中有与模式匹配的部分即可,而matches()方法要求目标字符串完全与模式匹配,不允许有其它多余字符。 一段小代码,会存在线程安全问题吗?我觉得不会,你觉得呢? 咦???这个问题把我难住了 问一个简单问题,回答上来给分 laf 的问题 很简单的Java正则问题 SCJP中的一道题,大家探讨! 一个子类只能有一个父类吗 日本在知名电台羞辱中华名族的录音:www.cniao.com/new0402.htm ,删贴不是中国人! 100分求助:笔试中遇到的一个智力题。UP有分 ~~文档中的字符~~~疑问! 关于JTable第一列加复选框的问题???急,急,急 初学者的问题!关于布局管理器的!java就那几个管理器吗?
(\\w+-\\w+-\\d{1,3}-\\d{1,3}#)+
应该可以的吧。
((\\w+||[\u4E00-\u9FA5]*)-\\w+-\\d{1,4}-\\d{1,4}#)+正常的字符串是:用户w1-abc2-1-8#
可是,当我要匹配的字符串为:用-#户we1-ww-1-8#也能够匹配,为什么?
这个不知道行不行啊!
www.lostcoders.net 有试用版下载。
这样应该没问题
方法一:
Pattern pattern = Pattern.compile("([^-#]+[-][^-#]+[#])+");
Matcher matcher = pattern.matcher("用-#户-userone#用户-usertwo#");
System.out.println(matcher.find());方法二:
System.out.println("用-#户-userone#用户-usertwo#".matches("([^-#]+[-][^-#]+[#])+"));