Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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将取代link_Javascript_Regex - Fatal编程技术网

Javascript regex将取代link

Javascript regex将取代link,javascript,regex,Javascript,Regex,嗨,我有一个很好的替换普通url链接问题。 我用的是Jeff Roberson代码中的linkify, 但由于它不支持伪URL(www.),我正试图将其添加到我找到的另一个正则表达式中。 到目前为止,我一直在做这件事 var replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim; text.replace(pseudoUrlPattern, '$1<a target="_blank" href="http://$2">$2<

嗨,我有一个很好的替换普通url链接问题。 我用的是Jeff Roberson代码中的linkify, 但由于它不支持伪URL(www.),我正试图将其添加到我找到的另一个正则表达式中。 到目前为止,我一直在做这件事

  var replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
  text.replace(pseudoUrlPattern, '$1<a target="_blank" href="http://$2">$2</a>')
var replacePattern2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
text.replace(伪URL模式,$1)
文本可以是一个html标记,当链接有一个没有任何空格的结束p标记时,它似乎在链接中包含该标记!我试过向前看,但似乎我做得不对。 一个例子是

 <p>www.something.here/something</p>
www.something.here/something


像这样的东西怎么样:

var text = "<p>www.something.here/something</p>";
var replacePattern2 = /(.*?)(((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+))((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/gim;
text.replace(replacePattern2, '$1<a target="_blank" href="$4">$4</a>')
var text=“www.something.here/something

”; 变量替换模式2=/(.*)((([A-Za-z]{3,9}:(?:\/\/)(?:[-;:&=\+\$,\w]+@);[A-Za-z0-9.-+\;(?:www.A-Za-z0-:&=\+\$,\w]+](A-Za-z0-9.-/\+\+\%\\/.\w--\\/.*)(?:\/[-\++++++\\\%.\w-\\+++--\\\\\/.\w].*)(?); text.replace(replacePattern2,$1')

基于此正则表达式:.

您好,谢谢,它就快到了,但是www.something.com变成了指向域/www.something.com的链接,而不是http://如果没有协议,我希望它添加http,否则我希望它使用文本中的一个。此外,它还会以某种形式改变电子邮件。thing@else.com域/thing@else.comI我认为如果我们取消对电子邮件的支持,它会起作用。在那之后我有电子邮件regex。。var emailAddressPattern=/([a-zA-Z0-9_\-\.]+)@[a-zA-Z\+?(?:\.[a-zA-Z]{2,6}))+/gim;在运行replacePattern2之后,我将运行emailAddressPattern。。因此,如果我们能以某种方式将这两者结合起来,或者排除电子邮件模式,我认为这会奏效