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 に答える