新的tweet url正则表达式,用于正确的字符计数
New tweet urls regex for correct character counting
我正在尝试重现新的tweet形式行为,例如正确的url字符计数。因此,我需要正确的正则表达式,根据示例返回'true'或url数组:
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
这样的url在something@google.com
我的目标是能够计数所有有效的url
让http://
部分可选:
(?:(http|https):'/'/)?['w-]+('.['w-]+)+(['w.,@?^=%&:'/~+#-]*['w@?^=%&'/~+#-])?
试试这个:
^(https|http)?(':'/'/)?(['w'.]*)'.(['w'.]+)
在notepad++和regex101.com中测试
我决定使用现有的库https://github.com/twitter/twitter-text/tree/master/js
它的工作原理就像twitter网站。
我在rubular.com (Ruby)中测试了这个:
(?<![@'w])(((http|https)(:'/'/))?(['w'-_]{2,})((['.])(['w'-_]*)){1,})(['w.,@?^=%&:'/~+#-]*['w@?^=%&'/~+#-])
JS: (^(((http|https)(:'/'/))?(['w'-_]{2,})((['.])(['w'-_]*)){1,})(['w.,@?^=%&:'/~+#-]*['w@?^=%&'/~+#-]*)|(?:[^@])'b(((http|https)(:'/'/))?(['w'-_]{2,})((['.])(['w'-_]*)){1,})(['w.,@?^=%&:'/~+#-]*['w@?^=%&'/~+#-]*))
regex101
相关文章:
- 用于匹配不带字符的单词的正则表达式
- 用于在Javascript中删除多个空格的特殊字符
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- 字符计数不适用于动态创建的元素
- 用于删除字符串中字符开头到结尾的正则表达式
- Javascript和RegEx用于删除特殊字符
- 用于检查特殊字符的 JavaScript 代码
- 正则表达式,用于除所有空格和一个特殊字符之外的所有内容
- regex,用于修改单词末尾特定大小写的字符
- 用于验证输入的JavaScript正则表达式超过0个字符
- 验证模式中的HTML5不适用于以一些特定字符开头的字符串
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 正则表达式,用于从拉丁文中拆分带有重音字符的单词
- 获取字符串中用于插值的字符索引
- 正则表达式,用于检查输入是否有字符或至少有1个笑脸
- 创建一个可链接的函数,用于规范化一小组特殊字符
- 用于匹配精确单词的正则表达式会影响特殊字符匹配
- 正则表达式表示用连字符分隔的浮点范围(用于年份和月份)
- html中的替换字符用于mysql数据库中的数据