Getting parts of a URL (Regex)

后端 未结 26 2567
说谎
说谎 2020-11-22 02:13

Given the URL (single line):
http://test.example.com/dir/subdir/file.html

How can I extract the following parts using regular expressions:

  1. The Subd
26条回答
  •  天涯浪人
    2020-11-22 03:12

    I build this one. Very permissive it's not to check url juste divide it.

    ^((http[s]?):\/\/)?([a-zA-Z0-9-.]*)?([\/]?[^?#\n]*)?([?]?[^?#\n]*)?([#]?[^?#\n]*)$

    • match 1 : full protocole with :// (http or https)
    • match 2 : protocole without ://
    • match 3 : host
    • match 4 : slug
    • match 5 : param
    • match 6 : anchor

    work

    http://
    https://
    www.demo.com
    /slug
    ?foo=bar
    #anchor
    
    https://demo.com
    https://demo.com/
    https://demo.com/slug
    https://demo.com/slug/foo
    https://demo.com/?foo=bar
    https://demo.com/?foo=bar#anchor
    https://demo.com/?foo=bar&bar=foo#anchor
    https://www.greate-demo.com/
    

    crash

    #anchor#
    ?toto?
    

提交回复
热议问题