簡體   English   中英

Javascript:正則表達式中的空字符串匹配

[英]Javascript : Empty String Match In Regular Expression

我想在正則表達式的幫助下,將帶有匹配http/https(www)或不帶有(www)的URL進行匹配。 以下是我的正式表達

^((https?)://)(www\\.)| ^$ +(\.[a-z0-9-]+)+([/?].*)?$

但是在這種情況下,例如,空字符串不起作用:當我輸入http://www.google.com是有效的URL,而http://google.com無效時。 謝謝你提前回答。

您無法使用^$搜索不存在的零件。 期望一個字符串(行)的開始,字符串(行)的結束。

只需將“ www”部分設為可選:

^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$

另一個問題是,您正在連續搜索兩個點:

^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$
                    ^    ^

我認為更好的模式是

^((https?)://)(www\\.)?([a-z0-9-]+)(\.[a-z0-9-]+)*([/?].*)?$

您是否知道,僅允許使用字符[a-z0-9-]來排除大量有效的URL?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM