我有以下一组文本并想提取粗体文本:
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}/
这与文本匹配,但在同一行上找到的任何匹配项都被视为一个匹配项,因此我最终得到:
[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
}