我阅读了很多相关的问题,但我找不到我需要的东西。这是我的问题:
inputStr = "<a b c> <c f a> <h a d>";
我只想抓住每个元素的第一个元素<...>
OutputStr = "a c h";
我尝试了类似的东西
mychar.replace(/<[a-z](.*)>/g, '$1');
但$1
唯一给了我<a b c>
有人有想法吗?
我阅读了很多相关的问题,但我找不到我需要的东西。这是我的问题:
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"
参考: 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");