正则表达式用来校验URL:

来源:互联网 发布:excel两列数据求和 编辑:程序博客网 时间:2024/06/05 16:56

这个正则表达式用来校验URL:  
    
  RegExp   =   new   RegExp(/^http://///S+//.[A-Za-z0-9]+[///=//?%//-&_~`@[//]///':+!]*([^<>///"///"])*$/);  
    
  在js里面直接这样写,就可以用,然后我在另外一个java文件中要实现相同的校验逻辑,要怎么写?  
    
  我写成这样:  
    
String regxp =/"^http://///////S+////.[A-Za-z0-9]+[/////=////?%////-&_~`@[////]/////':+!]*([^<>///"///"])*$/";
  Pattern   urlPattern   =   Pattern.compile(regxp);  
  Matcher   urlMatcher   =   urlPattern.matcher(value);  
                  if   (urlMatcher.find())   {  
                          return   true;  
                  }  
    
    
  可是提示出错:  
Exception in thread /"main/" java.util.regex.PatternSyntaxException:Unclosed character class near index 59
  ^http://///S+//.[A-Za-z0-9]+[///=//?%//-&_~`@[//]///':+!]*([^<>/"/"])*$  
    
    
  要怎么写啊?  
  谢谢!!!  
人气答案
回答者:苏门答腊  -等级:[程序员]1 回应-  08-08-24 14:26
在java中你那个改为如下格式:  
  String   str   =   "^http://///S+//.[A-Za-z0-9]+[///=//?%//-&_~`@[//]///':+!]*([^<>///"///"])*$";  
   
   
  给你推荐一个新的:  
   
 ^((http|https|ftp|rtsp|mms):(//|////){1}((([A-Za-z0-9_-:])+[.])|([A-Za-z0-9_-.:])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(/S*/)((/S)+[.]{1}(jpg|jpeg|gif|png|/S*?){1}))$ 
   
  校验例:  
  import   java.util.regex.*;  
   
  //   表达式对象  
 Pattern  p   = Pattern.compile("^((http|https|ftp|rtsp|mms):(//|////////){1}((([A-Za-z0-9_-:])+[.])|([A-Za-z0-9_-.:])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(//S*/)((//S)+[.]{1}(jpg|jpeg|gif|png|//S*?){1}))$"); 
   
  //   创建   Matcher   对象  
  Matcher   m   =   p.matcher("your   string");  
   
  //   是否完全匹配  
  boolean   yesorno   =   m.matches();

原创粉丝点击