0

我阅读了很多相关的问题,但我找不到我需要的东西。这是我的问题:

inputStr = "<a b c> <c f a> <h a d>";

我只想抓住每个元素的第一个元素<...>

OutputStr = "a c h";

我尝试了类似的东西

mychar.replace(/<[a-z](.*)>/g, '$1');

$1唯一给了我<a b c>

有人有想法吗?

4

2 回答 2

7

你的正则表达式是错误的。您需要匹配第一个字母,但不是匹配它之后的所有内容。并且不要忘记?当前情况下的惰性匹配:

"<a b c> <c f a> <h a d>".replace(/<([a-z]).*?>/g, "$1");  // "a c h"

参考: https ://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions

于 2013-02-14T14:05:02.813 回答
1
inputStr = "<a b c> <c f a> <h a d>";

OutputStr = inputStr.replace(/<([a-z]).*?>/g, "$1");
于 2013-02-14T14:10:03.310 回答