Javascript 正则表达式标记超链接

Javascript 正则表达式标记超链接,javascript,jquery,regex,Javascript,Jquery,Regex,我正在尝试从“[某物](链接)”创建带标签的超链接 如何将字符串转换为以下内容:,就像在论坛中那样 以下是我尝试过的,但我不太了解正则表达式: $(函数(){ 变量编辑器=$('.editor'); $('.output').html( //.html().replace(/\[(.*)\)/g',) .html().replace(/\[(.*)\)/g',) ); }); [某物](链接) 解决方案 这个正则表达式应该做你想做的事情 /\[(.*?\]\(.*?)/g 这个正则表达式还负

我正在尝试从“[某物](链接)”创建带标签的超链接

如何将字符串转换为以下内容:,就像在论坛中那样

以下是我尝试过的,但我不太了解正则表达式:

$(函数(){
变量编辑器=$('.editor');
$('.output').html(
//.html().replace(/\[(.*)\)/g',)
.html().replace(/\[(.*)\)/g',)
);
});

[某物](链接)
解决方案 这个正则表达式应该做你想做的事情

/\[(.*?\]\(.*?)/g

这个正则表达式还负责输入字符串,如
[something][something](link)

\[([^\[]*?)\]\(.*?)

解释 此正则表达式将方括号内的所有内容直接匹配到捕获组1中,然后是一个曲括号对,内容进入捕获组2。捕获组由一个曲括号对定义。之后,可以使用$1和$2访问这些捕获组

同样覆盖输入字符串
[something][something](link)
的正则表达式并不匹配括号对中的所有内容,而是匹配除开始括号外的所有内容

实例 这是您发布的更新的代码段

$(函数(){
变量编辑器=$('.editor');
$('.output').html(
.html().replace(/\[(.*?\])\(.*?\)/g',)
);
});

[某物](链接)
解决方案 这个正则表达式应该做你想做的事情

/\[(.*?\]\(.*?)/g

这个正则表达式还负责输入字符串,如
[something][something](link)

\[([^\[]*?)\]\(.*?)

解释 此正则表达式将方括号内的所有内容直接匹配到捕获组1中,然后是一个曲括号对,内容进入捕获组2。捕获组由一个曲括号对定义。之后,可以使用$1和$2访问这些捕获组

同样覆盖输入字符串
[something][something](link)
的正则表达式并不匹配括号对中的所有内容,而是匹配除开始括号外的所有内容

实例 这是您发布的更新的代码段

$(函数(){
变量编辑器=$('.editor');
$('.output').html(
.html().replace(/\[(.*?\])\(.*?\)/g',)
);
});

[某物](链接)
您可以使用
/\[(.+)\]\((.+)\)/g
然后使用
$1
获取链接的文本,使用
$2
获取链接的
href
属性:

$n
其中
n
是正则表达式中的捕获组位置(一个数字):第一个捕获组是
$1
,第二个是
$2
,依此类推

$(()=>{
常量编辑器=$('.editor');
$('.output').html(editor.html().replace(/\[([^\[]+)\]\]\((.+)\)/g,);
});

[链接](https://example.com)
您可以使用
/\[(.+)\]\((.+)\)/g
然后使用
$1
获取链接的文本,使用
$2
获取链接的
href
属性:

$n
其中
n
是正则表达式中的捕获组位置(一个数字):第一个捕获组是
$1
,第二个是
$2
,依此类推

$(()=>{
常量编辑器=$('.editor');
$('.output').html(editor.html().replace(/\[([^\[]+)\]\]\((.+)\)/g,);
});

[链接](https://example.com)

我不知道你可以在一个替换中放置多个搜索。你能给我解释一下
$
是如何与regex一起工作的吗?我有一个问题,比如我有一个:
[something][something](链接)
,第一个捕获组捕获第一个括号和最后一个括号之间的所有内容。我该如何修复它?我不知道你可以在一个替换中放置多个搜索。你能向我解释一下
$
如何与regex一起工作吗?我有一个问题,比如我有这个:
[某物][某物](链接)
,第一个捕获组捕获第一个括号和最后一个括号之间的所有内容。我如何修复它?因此,
$
内容表示“在这些字符之间”的内容?@souenterset answer edited:$n其中n是正则表达式中捕获组的位置……我有一个问题,假设我有这个:[something][something](链接),第一个捕获组捕获第一个括号和最后一个括号之间的所有内容。我将如何修复它?@souenterset查看更新的答案,使用
/\[([^\[]+)\]\((.+)\]/
因此
[某物][某物](链接)
产生
[某物]
(第一个[某物]被忽略,因为它不尊重模式)。因此
$
事物表示“在这些字符之间”的内容?@souenterset answer edited:$n其中n是正则表达式中捕获组的位置……我有一个问题,假设我有这个:[something][something](链接),第一个捕获组捕获第一个括号和最后一个括号之间的所有内容。我将如何修复它?@souenterset查看更新的答案,使用
/\[([^\[]+)\]\((.+)\)/
因此
[something][something](链接)
产生
[something]
(第一个[something]被忽略,因为它不尊重模式)。