这个正则表达式用来校验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();
正则表达式用来校验URL:
最新推荐文章于 2023-12-08 14:29:29 发布