如何获取以(在行的开头)>开头的所有代码?直到< ?
这是一个例子:
>foo// comment
>bar i< // <---
>foobar< // comment > code example<fo}
> off < bad formated line
我需要这个:
bar i
foobar
答案 0 :(得分:0)
请看这个片段:
var content = [
">foo// comment",
"",
">bar i< // <---",
">foobar< // comment > code example<fo}",
" > off < bad formated line"
];
content.filter(function(text) {
var result = text.match(/^>[^<]*</);
if (result) {
document.write(result[0] + '<br>');
document.write(result[0].slice(1, -1) + '<br><br>');
}
});
&#13;
希望它有所帮助。
答案 1 :(得分:0)
我将接受华盛顿盖德斯的评论并在此解释:
^>[^<]*<
^
匹配行的开头>
是您想要在行开头找到的内容[^<]*
匹配的所有内容不是<
字符零次或多次<
匹配您感兴趣的字符串末尾的<
字符([^<]*)
在下面的示例中,我添加了括号,表示正则表达式中的一个组。这是javascript中的样子:
var myString = "your input goes here";
var myRegexp = /^>([^<]*<)/g;
var match = myRegexp.exec(myString);
您可以在W3Schools上找到有关如何使用RegExp对象的信息。
答案 2 :(得分:0)
/^>([^<\n]*)</gm
var re = /^>([^<\n]*)</gm;
var str = '>foo// comment\n\n>bar i< // <---\n>foobar< // comment > code example<fo}\n > off < bad formated line';
var m;
while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
console.log(m[1]);
}