在Javascript中替换正则表达式匹配的结果

Pau*_*nel 0 javascript regex replace match

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

inputStr = "<a b c> <c f a> <h a d>";
Run Code Online (Sandbox Code Playgroud)

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

OutputStr = "a c h";
Run Code Online (Sandbox Code Playgroud)

我试过类似的东西

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

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

有人有想法吗?

Vis*_*ioN 7

你的正则表达式是错误的.你需要匹配第一个字母,但不能匹配它之后的所有内容.并且不要忘记?当前案例中的懒惰匹配:

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

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

  • 答案是对的,现在有帮助:) (2认同)