Javascript 用于拆分包含文本和url的字符串的正则表达式
我有如下输入字符串:Javascript 用于拆分包含文本和url的字符串的正则表达式,javascript,regex,string,split,Javascript,Regex,String,Split,我有如下输入字符串: [URL=http://...]Lorem ipsum[/URL] 它们应转换为HTML标记: <a href="http://...">Lorem ipsum</a> 应将其转换为: <a href="http://domain.com">My Awesome Link Text</a> 如何拆分这些字符串,但不拆分url内部的=?不要拆分,只需解析它 a.match(/\[URL=(.+)\](.+)\[\/URL\
[URL=http://...]Lorem ipsum[/URL]
它们应转换为HTML标记:
<a href="http://...">Lorem ipsum</a>
应将其转换为:
<a href="http://domain.com">My Awesome Link Text</a>
如何拆分这些字符串,但不拆分url内部的
=
?不要拆分,只需解析它
a.match(/\[URL=(.+)\](.+)\[\/URL\]/i)
我们得到:
["[URL=http://domain.com]My Awesome Link Text[/URL]", "http://domain.com", "My Awesome Link Text"]
不要分裂,只是解析它
a.match(/\[URL=(.+)\](.+)\[\/URL\]/i)
我们得到:
["[URL=http://domain.com]My Awesome Link Text[/URL]", "http://domain.com", "My Awesome Link Text"]
用Javascript测试
[URL=([^\]+)\]([^\[]+)\[\/URL\]
不拆分:分解为组
t = '[URL=http://domain.com?param=value]My Awesome Link Text[/URL]'
r = /\[URL=([^\]]+)\]([^\[]+)\[\/URL\]/;
t.match(r)
--> ["[URL=http://domain.com?param=value]My Awesome Link Text[/URL]", "http://domain.com?param=value", "My Awesome Link Text"]
用Javascript测试
[URL=([^\]+)\]([^\[]+)\[\/URL\]
不拆分:分解为组
t = '[URL=http://domain.com?param=value]My Awesome Link Text[/URL]'
r = /\[URL=([^\]]+)\]([^\[]+)\[\/URL\]/;
t.match(r)
--> ["[URL=http://domain.com?param=value]My Awesome Link Text[/URL]", "http://domain.com?param=value", "My Awesome Link Text"]
模式:
^.*?\[URL=([^\]]*)\]([^\[]*).*$
替换:
<a href="$1">$2</a>
在JavaScript中:
> "[URL=http://domain.com?asd=a]My Awesome Link Text[/URL]".replace(/^.*?\[URL=([^\]]*)\]([^\[]*).*$/, '<a href="$1">$2</a>')
'<a href="http://domain.com?asd=a">My Awesome Link Text</a>'
>“[URL=http://domain.com?asd=a]我最棒的链接文本[/URL]”。替换(/^.*?\[URL=([^\]*)\]([^\[]*).$/,“”)
''
模式:
^.*?\[URL=([^\]]*)\]([^\[]*).*$
替换:
<a href="$1">$2</a>
在JavaScript中:
> "[URL=http://domain.com?asd=a]My Awesome Link Text[/URL]".replace(/^.*?\[URL=([^\]]*)\]([^\[]*).*$/, '<a href="$1">$2</a>')
'<a href="http://domain.com?asd=a">My Awesome Link Text</a>'
>“[URL=http://domain.com?asd=a]我最棒的链接文本[/URL]”。替换(/^.*?\[URL=([^\]*)\]([^\[]*).$/,“”)
''
结果如下:
["[URL=http://domain.com]My Awesome Link Text[/URL]", "http://domain.com", "My Awesome Link Text"]
您可以使用以下结果:
var html = "<a href=\"" + result[1] + "\">" + result[2] + "</a>";
因此,第一个答案不是最佳选择,因为它不允许链接文本包含[
或]
结果如下:
["[URL=http://domain.com]My Awesome Link Text[/URL]", "http://domain.com", "My Awesome Link Text"]
您可以使用以下结果:
var html = "<a href=\"" + result[1] + "\">" + result[2] + "</a>";
因此,第一个答案不是最佳选择,因为它不允许链接文本包含[
或]