Javascript web URL的正则表达式,以便也与专用主机匹配

Javascript web URL的正则表达式,以便也与专用主机匹配,javascript,java,regex,url,web,Javascript,Java,Regex,Url,Web,我有下面的正则表达式来匹配Web URL模式,但它没有标识私有主机,例如或。如何修改此正则表达式以匹配该正则表达式 ^(以下简称:::)以下:::::(((:)以下以下::::::::::(((:)以下::::::((:)::((:::::(:::[a-zA-zA-Z0---Z0-9-9-9-9-10-9-9-10-10-10-10-10-10-10-10-10-10-10-10-10-9-10-10-10-10-10-10-10-10-10-10-10-10-10-10-9-9-9-9-9-9

我有下面的正则表达式来匹配Web URL模式,但它没有标识私有主机,例如或。如何修改此正则表达式以匹配该正则表达式


^(以下简称:::)以下:::::(((:)以下以下::::::::::(((:)以下::::::((:)::((:::::(:::[a-zA-zA-Z0---Z0-9-9-9-9-10-9-9-10-10-10-10-10-10-10-10-10-10-10-10-10-9-10-10-10-10-10-10-10-10-10-10-10-10-10-10-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-10-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-10-9-10 Z0-9][a-zA-Z0-9-]{0,64}.+(?:(?:aero | arpa | asia | a[cdefgilmnoqrstuwxz]))|(?:biz | b[Abdefghijmnorstvyz])|(?:cat | com | coop | c[acdfghiklmnoruvxyz d]|d[ejkmoz]|(以下::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;g[Ab[Ab[AbdefAbdefAbdefGGGGGGGGGhhhhGGGGGGGhhhhhGGGGGGGGGGGhhhhhhhhGGGGGGGGGGGGGGGGGGGGGGGGGG[[KKK线路]的[Ab[Ab[Ab[Ab[Ab[Ab[Ab[Ab[[[KKKKNNN们们们们们们们们们们们]]| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |[fs]|y[etu]|z[amw]))|(?:(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]).(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0).(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0).(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?::\d{1,5})?)$

Maybe you should consider the following regexes from: “正则表达式食谱第二版”摘自O'reilly第448-450页

适用于Java 7

\A
(# Scheme
 (?<scheme>[a-z][a-z0-9+\-.]*):
 (# Authority & path
  //
  (?<user>[a-z0-9\-._~%!$&'()*+,;=]+@)?              # User
  (?<host>[a-z0-9\-._~%]+                            # Named host
  |       \[[a-f0-9:.]+\]                            # IPv6 host
  |       \[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])  # IPvFuture host
  (?<port>:[0-9]+)?                                  # Port
  (?<hostpath>(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?)    # Path
 |# Path without authority
  (?<schemepath>/?[a-z0-9\-._~%!$&'()*+,;=:@]+
                (/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?)?
 )
|# Relative URL (no scheme or authority)
 (?<relpath>
  # Relative path
  [a-z0-9\-._~%!$&'()*+,;=@]+(/[a-z0-9\-._~%!$&'()*+,;=:@]+)*/?
 |# Absolute path
  (/[a-z0-9\-._~%!$&'()*+,;=:@]+)+/?
 )
)
# Query
(?<query>\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?
# Fragment
(?<fragment>\#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?
\Z
^([a-z][a-z0-9+\-.]*:(\/\/([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[a-f0-9:.]+\]|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])(:[0-9]+)?(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?|(\/?[a-z0-9\-._~%!$&'()*+,;=:@]+(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?)?)|([a-z0-9\-._~%!$&'()*+,;=@]+(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?|(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)+\/?))(\?[a-z0-9\-._~%!$&'()*+,;=:@\/?]*)?(#[a-z0-9\-._~%!$&'()*+,;=:@\/?]*)?$
您将需要不区分大小写的标志(i)

测试1

测试2

如果它对你有帮助,请考虑购买这本最优秀的书(食谱意味着你可以使用正则表达式,他们会正确地工作),别忘了接受答案。
伟大的成功伙伴

以下是您的正则表达式的描述:


这个正则表达式是错误的。我可以立即看到几个错误:
/
没有被转义,
没有被转义。它不会按照您想要的方式工作。另外,您需要它在Java或Javascript中工作吗?请参阅以下答案以获得帮助:。只需我的两美分…@bezmax,我没有故意包含转义字符以使其相对更简单ead able。在代码中,这些都是转义的。我在寻找Java。您使用了什么工具来生成这个?