Javascript正则表达式为标记链接返回null
我想将标记链接解析为一个数组,其中第一项是URL,第二项是要显示的链接 我编写了以下代码来解析它:Javascript正则表达式为标记链接返回null,javascript,regex,Javascript,Regex,我想将标记链接解析为一个数组,其中第一项是URL,第二项是要显示的链接 我编写了以下代码来解析它: const input = '[https://www.example.com/example](Example.com | For all your examples!)'; const matched = input.match('/\\[(.*?)\\]\\((.*?)\\)/gim'); console.log(matched); 但是我得到的输出是null,而不是预期的带有2个链接
const input = '[https://www.example.com/example](Example.com | For all your examples!)';
const matched = input.match('/\\[(.*?)\\]\\((.*?)\\)/gim');
console.log(matched);
但是我得到的输出是null
,而不是预期的带有2个链接的数组
我在JS端或正则表达式端做错了什么,但我看不出是什么。我完全忘记了不应该将正则表达式放在字符串中,因此以下是答案:
const matched = input.match(/\[(.*?)\]\((.*?)\)/);
您不需要双转义符
\[(.*?)\(.*?)
或\[([^\][*])]\([^()]*)\
,您也可以省略i
标志和m
标志。这是可能包含链接的任意标记还是仅包含链接的标记?