【发布时间】:2014-01-03 18:58:49
【问题描述】:
在 Java 中,我正在尝试编写一个正则表达式来匹配一种特殊的 HTTP URL:
http://<any-string-of-1-or-more-chars>/#<any-string-of-0-or-more-chars>
所以字符串有4段:
- 字符串文字:“http://”;那么
- 任何 1+ 个字符的字符串;那么
- 字符串文字:“/#”;那么
- 0+字符的任意字符串
“传递”字符串的示例:
等等。我最好的尝试是:
String regex = "http://*/#*";
但是当我尝试时:
String test = "http://example.com/#";
String regex = "http://*/#*";
if(test.matches(regex))
System.out.println("I match!");
else
System.err.println("I don't match!");
我哪里出错了,我的正则表达式应该是什么(以及为什么)?
【问题讨论】:
-
正则表达式中的
#*是什么意思?