删除逗号但接受下划线URL Java正则表达式



我正在尝试创建一个不接受主机名中的逗号的字符串REGEX。它可以正确地接受下划线,但我不能分割字符串,因为它不会分割下划线。我如何创建一个REGEX,不接受逗号,并允许我分割字符串上的句号?

这是我的代码:

String REGEX = "(@)?(href=')?(HREF=')?(HREF=")?(href=")?
(http: \/\/|https:  \/\/|ftp:\/\/)?(www.)?(file://)?[a-zA-Z_0-9 
\-]+(\.\w[a-zA-Z_0-9\-]+)+ (/[#&\n\-=?\+\%/\.\w]+)?";
String[] domainNameParts = statusForHost.split("\.");

结果:错误接受"https://caacan,a.cioa"。

结果:正确接受"http://m_y"。你"但它不会分裂打印出来"。作为顶级域名

我不确定REGEX应该做什么,但是s.matches(REGEX)返回false对于上面的两个例子。

我不知道你期望什么,但是方法match在给定的模式下分割字符串并删除模式,所以你得到"http://m_y""you"作为结果,而不是".you"

也许你可以提供一个更好的(工作)示例代码,包括你期望和你得到的结果?

最新更新