java正则表达式,求匹配:双反斜杠(\\)合法,单反斜杠不合法(\)

aladdin_2008 2014-03-23 12:53:51
要求是这样的,我想弄一个正则表达式达到双反斜杠(\\)合法,单反斜杠(\)不合法。举个例子:abc123\def\\ghj。我想这个正则表达式能匹配出第一个\d然后提示用户输入错误。但现在我用\\[^\s"'(\\)]后发现他居然把第二个双反斜杠里的最后一个斜杠和后面一个字母匹配出来了,也就是\g。很是郁闷,因为按我的要求来说,g前面的双反斜杠应该是合法的。希望我表达清楚了。有没有大神解答下!
...全文
417 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
aladdin_2008 2014-03-23
最好能有个例子啊~
  • 打赏
  • 举报
回复
u012128266 2014-03-23
一个\是转义字符,当为\\时,表示一个\
  • 打赏
  • 举报
回复
aladdin_2008 2014-03-23
回#1,你说的对,我那个测试是在noteplus++里做的,没在Java里测试呢,所以两个反斜杠没问题。现在问题是没匹配到g前面的双反斜杠,匹配到了g前的单反斜杠\g
  • 打赏
  • 举报
回复
Inhibitory 2014-03-23
正则表达式里2个\代为一个\,所以双反斜杠为4个\,但是在字符串中2个\表示一个\ 所以字符串中8个\对应正则表达式里2个\
  • 打赏
  • 举报
回复
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2014-03-23 12:53
社区公告
暂无公告