Regex提取模式之间的文本

Regex extract text between pattern

本文关键字:文本 之间 模式 提取 Regex      更新时间:2023-09-26

我需要您帮助使用javascript中的正则表达式。

我有一个带有跟随模式的a标签

<a href='#'>
  <!--:de-->some german text<!--:--><!--:en-->some english text<!--:-->
</a>

所以,现在我正在搜索一个正则表达式,它提取了我的每个部分

 1. <!--:de-->some german text<!--:-->
 2. <!--:en-->some german text<!--:-->

非常感谢提前

试试这个:

var str = '<!--:de-->some german text<!--:--><!--:en-->some english text<!--:-->'; 
var match =  str.match(/de-->([^<]+).+?en[^>]+>([^<]+)/i);
var textInDe = match[1]; 
var textInEn = match[2]; 

试试这个Javascript代码:

var ger = /<!--:de-->.*?<!--:-->/g;
document.writeln(html.match(ger).map(function (s) { return s; }));
var eng = /<!--:en-->.*?<!--:-->/g;
document.writeln(html.match(eng).map(function (s) { return s; }));

输出

一些德语文本

一些英文文本

如果您需要两个以上的部分,我建议您用分隔符分隔字符串

var str="<!--:de-->some german text<!--:--><!--:en-->some english text<!--:--><!--:fr-->some french text<!--:-->";
var col_array=str.split("<!--:-->");
var part_num=0;
while (part_num < col_array.length)
{
 document.write(col_array[part_num]+"<br>");
 part_num+=1;
}