不确定我是否正确行事:
/(https?:\/\/\S+)(\s|(& nbsp;))?/g;
Run Code Online (Sandbox Code Playgroud)
这应匹配以http(s)://开头并以空格字符或 结尾的网址.
所以问题在于这一部分:
(\s|(& nbsp;))?
Run Code Online (Sandbox Code Playgroud)
这应该意味着:匹配一个空格或者一个 但它不起作用.它绝不匹配 并继续直到它找到一个空白区域.
我不是在寻找任何其他的http regexp,我不是在寻找一个javascript库解决方案,我对此很满意,我只想弄清楚最后一部分.
编辑:此网站上的代码格式中存在某种错误,&之间没有空格.但如果我摆脱那个分隔空间,这个网站会把它变成一个空间.
这个\S+位是贪婪的,并且将匹配尽可能多的非空格字符,包括 可能存在的任何空格字符.将它更改为不合适的等价物\S+?,你可能会有更好的运气:
/(https?:\/\/\S+?)(\s| |$)/g;
(更新是因为我忽略了尾随?.)
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |