したがって、基本的には、URL がドメインと一致することをテストし、(存在する場合) 最後に出現した (ダッシュで区切られた) 4 ~ 5 文字と 3 ~ 5 の数字のグループを返します。
function testLink (link) {
var reg = /test.com.*-([A-Z]{4,5}[0-9]{3,5})/i;
return try { link.match(reg)[1] } catch(e) { false }
}
testLink('http://www.test.com/something-test-C34-CAA0004-CJFE348');
==> CJFE348
一致すると、完全なテスト文字列を含む配列が返され、次にパターンが返されます。失敗すると、try catch がヒットし、false が返されます。これはうまくいくようですが、より良い方法があるかどうかはわかりませんか?また、正規表現が私の条件の防弾であるかどうかもわかりません。たくさんのリンクをスキャンする必要がある機能を構築しているので、最善/最速のソリューションを見つけたい