Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex在到达&;时停止检测链接;nbsp;_Javascript_Regex_Regex Lookarounds - Fatal编程技术网

Javascript Regex在到达&;时停止检测链接;nbsp;

Javascript Regex在到达&;时停止检测链接;nbsp;,javascript,regex,regex-lookarounds,Javascript,Regex,Regex Lookarounds,我试图找到一个正则表达式来检测字符串中的任何链接 当前使用:/(https?:\/\/[^\s]+)/g 在我看到这种链接之前,这一切都很好: http://campus.inkrement.no/Show/Index/2757798&nbsp;for&nbsp;å&nbsp;lære&nbsp;mer 我希望它在第一个 因此,它将是: <a href='http://campus.inkrement.no/Show/Index/2757798'>h

我试图找到一个正则表达式来检测字符串中的任何链接

当前使用:
/(https?:\/\/[^\s]+)/g

在我看到这种链接之前,这一切都很好:

http://campus.inkrement.no/Show/Index/2757798&nbsp;for&nbsp;å&nbsp;lære&nbsp;mer
我希望它在第一个

因此,它将是:

<a href='http://campus.inkrement.no/Show/Index/2757798'>http://campus.inkrement.no/Show/Index/2757798</a>&nbsp;for&nbsp;å&nbsp;lære&nbsp;mer
ålære mer的

而不是像这样:

<a href='http://campus.inkrement.no/Show/Index/2757798&nbsp;for&nbsp;å&nbsp;lære&nbsp;mer'>http://campus.inkrement.no/Show/Index/2757798&nbsp;for&nbsp;å&nbsp;lære&nbsp;mer</a>


有人知道吗?

会不会
/(https?:\/\/[^\s]+?)/g
做这个把戏?请注意,您还匹配了第一个
,因此需要将其添加到替换字符串中。总是有一个结束语吗?

我认为你应该在这里使用负前瞻

比如:

/(https?:\/\/(?:(?!&nbsp;)[\S])+)/g
[\S]
将匹配任何非空格

(?!)
仅当前面没有


?:
将阻止捕获此组(可选)

您只需在表达式中添加几个字符即可获得:

/(https?:\/\/[^\s]+?)(?=)|(https?:\/\/[^\s]+)/g

示例:

http://campus.inkrement.no/Show/Index/2757798 对于ålære mer

输出:


http://campus.inkrement.no/Show/Index/2757798

您可以尝试在第一次匹配后运行第二个regexp,以删除第一次匹配后的所有内容,包括第一次感谢,但这没有帮助:(当它到达最后一个“”时将停止,但我希望它在第一个“nbsp;”处停止。请注意
+
之后,使其不情愿(它将尽可能少地匹配)。你试过了吗?@SQB仍然你会向结果中添加
,他不想要它。是的,所以我注意到需要将它添加到替换字符串中。一般来说,人们似乎忘记了,如果你正在替换,你可以匹配任意多的周围字符串,只要你将其自身替换。通常,你不需要(昂贵)环顾四周。很有魅力,谢谢!:D@Adassko是的,你是对的,我刚刚检查过。所以你的是我现在最好的选择。再次感谢:)@Adassko你是对的,用最简单的方法编辑它…现在它工作了,无论如何thx.:)有没有办法使用
前瞻
一起使用?