Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 用于拆分包含文本和url的字符串的正则表达式_Javascript_Regex_String_Split - Fatal编程技术网

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>";
因此,第一个答案不是最佳选择,因为它不允许链接文本包含
[
]