rel|
またはsyn|
のすべてのインスタンスとそれに続くすべてのインスタンスを一致させようとしています。私はあなたがここに見ることができる正しい正規表現を持っています:https://regex101.com/r/E7RsbZ/1私はそれを私のJSに入れば、rel|
またはsyn|
の最初のインスタンスと一致するようです。ここでは、関連するコードは次のとおりです。Javascript regexは、最初の出現だけでなく、すべての一致の配列を取得します
var regex = /(syn|rel)\|[a-zA-Z]*/mgi;
var regexed1 = regex.exec(text);
テキストがregex101入力と同じであり、それは配列['syn|felicitous', 'syn']
を返します。
私はなぜこれをやっているのか分かりません。私が返すのは、rel|
またはsyn|
のすべてのインスタンスを含む配列です。.toString()
とそれを印刷することができます。ループを使うべきであることを意味するthis SO answerが見つかりましたが、問題は私がいつもどれくらいの数のrel|
またはsyn|
が存在するかわからないため、ループ回数をハードコードすることができません。
これについての助けがあれば、どこに行くのか分かりません。
var string = '\
adjective|syn|felicitous\
adjective|syn|glad\
adjective|syn|well-chosen\
adjective|ant|unhappy\
adjective|rel|felicitous\
adjective|rel|glad\
adjective|rel|cheerful\
adjective|rel|content\
adjective|rel|contented\
adjective|rel|elated\
adjective|rel|euphoric\
adjective|rel|joyful\
adjective|rel|joyous\
adjective|sim|felicitous\
adjective|sim|blessed\
adjective|sim|blissful\
adjective|sim|bright\
adjective|sim|fortunate\
adjective|sim|golden\
adjective|sim|halcyon\
adjective|sim|laughing\
adjective|sim|prosperous\
adjective|sim|riant\
adjective|sim|willing\
'
var regex = /(syn|rel)\|[a-zA-Z]*/mgi;
var matches = string.match(regex)
console.log(matches)
.as-console-wrapper { min-height: 100vh; }
を参照してください? – mtizziani