以下のテキスト グループがあり、太字のテキストを抽出したいと考えています。
24.SSRTKNEWSHK1HNLYVR1865U30AUG- 4.1 .8387254346122C2 25.SSRTKNEWSHK1YVRHNL1864J22AUG- 5.1 .8387254346123C1 1.1YEUNG/LAWRENCE.KWANLEUNG*JWA 2.1YEUNG/LILY.LIMKUO*JWA 3.1YEUNG/ANDREA.LAUREN*JWA 4.1YEUNG/ETHAN.WESLEY*JWA 5.1YEUNG/WINSTON .JEREMY*JWA 1 WS1864J 22AUG TH YVRHNL HK5 600P 904P/O $ E 2 WS1865U 30AUG FR HNLYVR HK5 1010P 656A#1/O $ E
最終的にJavascriptを使用したいのは、次のような配列です。
[0] -> 1.1YEUNG/LAWRENCE.KWANLEUNG*JWA
[1] -> 2.1YEUNG/LILY.LIMKUO*JWA
[2] -> 3.1YEUNG/ANDREA.LAUREN*JWA
[3] -> 4.1YEUNG/ETHAN.WESLEY*JWA
[4] -> 5.1YEUNG/WINSTON.JEREMY*JWA
これまでに思いついたのは次のとおりです。/[\d]{1}\.[\d]{1}.+\*[A-Z]{3}/
これはテキストと一致しますが、同じ行で見つかった一致は 1 つの一致として扱われるため、次のようになります。
[0] -> 1.1YEUNG/LAWRENCE.KWANLEUNG*JWA 2.1YEUNG/LILY.LIMKUO*JWA
[1] -> 3.1YEUNG/ANDREA.LAUREN*JWA 4.1YEUNG/ETHAN.WESLEY*JWA
[2] -> 5.1YEUNG/WINSTON.JEREMY*JWA
\*[A-Z]{3}
この正規表現に、最後のインスタンスではなく次のインスタンスにのみ一致するように指示するにはどうすればよいですか?
私は RegexBuddy でこれに取り組んでいるので、表示する実際の JavaScript はありませんが、「使用」ページで生成される if ステートメントは次のとおりです。
if (subject.match(/[\d]{1}\.[\d]{1}.+\*[A-Z]{3}/)) {
// Successful match
} else {
// Match attempt failed
}