我读了很多链接的问题,但无法找到我需要的。这里是我的问题:在Javascript中替换正则表达式匹配的结果
inputStr = "<a b c> <c f a> <h a d>";
,我想抓住唯一的每个<...>
OutputStr = "a c h";
我尝试的第一个元素类似
mychar.replace(/<[a-z](.*)>/g, '$1');
但$1
只给我<a b c>
有没有人想法?
我读了很多链接的问题,但无法找到我需要的。这里是我的问题:在Javascript中替换正则表达式匹配的结果
inputStr = "<a b c> <c f a> <h a d>";
,我想抓住唯一的每个<...>
OutputStr = "a c h";
我尝试的第一个元素类似
mychar.replace(/<[a-z](.*)>/g, '$1');
但$1
只给我<a b c>
有没有人想法?
您的正常表达是错误的。你需要匹配第一个字母,但不能匹配后面的所有字母。不要在目前的情况下,忘记一个懒惰的比赛?
:
"<a b c> <c f a> <h a d>".replace(/<([a-z]).*?>/g, "$1"); // "a c h"
REF:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions
inputStr = "<a b c> <c f a> <h a d>";
OutputStr = inputStr.replace(/<([a-z]).*?>/g, "$1");
这个答案似乎并不增加了前一个。 – 2013-02-14 14:12:15
他就不必再问一次,他有一个变化的问题:)说明会很好 – 2013-02-14 14:17:20
@MichelFeldheim所以你认为我的回答是错误的? ;)如果答案没有提供解释,那么我们假设OP会自己发现它是如何工作的。至少我总是这样做,如果我得到解决方案。此外,我认为不值得重写[MDN关于正则表达式的文章](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions)。 – VisioN 2013-02-14 14:21:17
答案是正确的,现在它是有帮助:) – 2013-02-15 08:17:10