我正在尝试重现新的推文表单行为,例如为网址正确的字符计数。因此,我需要正确的正则表达式,它将返回' true'或者根据例子的网址:
1. www.google.com
2. http://www.google.com
3. https://www.google.com
4. http://google.com
5. https://google.com
6. google.com
我的最新发现是:
(http|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?
哪种方法几乎完美,但它没有捕获选项1(开头用www)。
在google.com
something@google.com
这样的网址有效
我的目标是能够统计所有有效的网址。
答案 0 :(得分:0)
因此,http://
部分可选:
(?:(http|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?
答案 1 :(得分:0)
试试这个:
^(https|http)?(\:\/\/)?([\w\.]*)\.([\w\.]+)
在notepad ++和regex101.com中测试
答案 2 :(得分:0)
我在rubular.com(Ruby)中测试了这个:
SELECT c.companyID, c.companyDescription , c.companyName ,c.copmanyDrastiriotita, c.companyVisible
FROM company c
WHERE c.companyVisible = 1
AND c.companyDescription LIKE '%Keyword%'
OR c.companyName LIKE '%Keyword%'
OR c.copmanyDrastiriotita LIKE '%Keyword%'
对于JS:
(?<![@\w])(((http|https)(:\/\/))?([\w\-_]{2,})(([\.])([\w\-_]*)){1,})([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])
在这里测试:regex101
答案 3 :(得分:0)
我决定使用https://github.com/twitter/twitter-text/tree/master/js
中的现有库就像在推特网站上一样。