新的tweet url正则表达式用于正确的字符计数

时间:2016-06-28 08:47:00

标签: javascript regex twitter

我正在尝试重现新的推文表单行为,例如为网址正确的字符计数。因此,我需要正确的正则表达式,它将返回' 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这样的网址有效

我的目标是能够统计所有有效的网址。

4 个答案:

答案 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.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])

在这里测试:regex101

答案 3 :(得分:0)

我决定使用https://github.com/twitter/twitter-text/tree/master/js

中的现有库

就像在推特网站上一样。