类似html的javascript正则表达式匹配标记
因为,我对正则表达式没有太多经验。在我的例子中,我想在下面的字符串中获得tag和tagint中的内容。结果将是2个数组,如下所示: 要匹配的字符串: Chủ 新罕布什尔州ật、 1863年第24届全国人大五次会议,基奥·斯里登布罗肯布洛克五世ội vãtrở về 吴哥ủ阿昂ở số 19 đườn.G.科尼格斯塔斯ằm trong khu phố Cổ 基恩ấTở thánh phố Hambourg.abc.wav 结果: [Chủ 新罕布什尔州ật、 1863年第24届全国人大五次会议,基奥·斯里登布罗肯布洛克五世ội vãtrở về 吴哥ủ阿昂ở số 19 đườn.G.科尼格斯塔斯ằm trong khu phố Cổ 基恩ấTở thánh phố 汉堡。] 及类似html的javascript正则表达式匹配标记,javascript,regex,Javascript,Regex,因为,我对正则表达式没有太多经验。在我的例子中,我想在下面的字符串中获得tag和tagint中的内容。结果将是2个数组,如下所示: 要匹配的字符串: Chủ 新罕布什尔州ật、 1863年第24届全国人大五次会议,基奥·斯里登布罗肯布洛克五世ội vãtrở về 吴哥ủ阿昂ở số 19 đườn.G.科尼格斯塔斯ằm trong khu phố Cổ 基恩ấTở thánh phố Hambourg.abc.wav 结果: [Chủ 新罕布什尔州ật、 1863年第24届全国人大五次会议,基
[abc.wav]结果中是否需要数组?在下面的代码中,您可以获得除数组之外的所需内容。如果需要数组,只需包装内容即可
/**
* If <music> always follows <text>
*/
var matches = /<text>([\s\S]+?)<\/text>\s*<music>([\s\S]+?)<\/music>/.exec(STRING_TO_MATCH);
var text, music;
if (matches) {
text = matches[0]; // <text> content
music = matches[1]; // <music> content
}
/**
* Otherwise
*/
var text = /<text>([\s\S]+?)<\/text>/.exec(STRING_TO_MATCH);
var music = /<music>([\s\S]+?)<\/music>/.exec(STRING_TO_MATCH);
if (text) text = text[0];
if (music) music = music[0];
因为,当字符串具有换行符时,@taggon中的代码无效。\r\n。所以我在它前面加了一行。好的:
STRING_TO_MATCH = STRING_TO_MATCH.replace(/(?:\r\n|\r|\n)/g, '<br/>');
/**
* If <music> always follows <text>
*/
var matches = /<text>(.+?)<\/text>\s*<music>(.+?)</music>/.exec(STRING_TO_MATCH);
var text, music;
if (matches) {
text = matches[0]; // <text> content
music = matches[1]; // <music> content
}
/**
* Otherwise
*/
var text = /<text>(.+?)<\/text>/.exec(STRING_TO_MATCH);
var music = /<music>(.+?)<\/music>/.exec(STRING_TO_MATCH);
if (text) text = text[0];
if (music) music = music[0];
非常感谢您回答我的问题。但是当字符串有换行符时,它不起作用\r\n。