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]被忽略,因为它不尊重模式)。