大学のコースコードを接頭辞と接尾辞に分割する必要があります。例えばCSE1011をプレフィックスCSEおよびサフィックス1011に追加します。接頭辞は2つ以上のアルファベットで、接尾辞は1つでも3つでもかまいません。これまでのところ私はこの正規表現が出ている:正規表現を使って大学のコースコードを接頭辞と接尾辞に分割する必要があります
/([A-Z]{2,})(?:\s*)([0-9]{3,})?$/g
var courscrCode = 'CSE1011';
var courseRegex = /([A-Z]{2,})(?:\s*)([0-9]{3,})?$/g;
var splitted = courseRegex.exec(courscrCode);
console.log(splitted);
もこれを試してみました。私はちょうど2部分文字列の接頭辞と接尾辞を取得しようと思ってソリューションを必要とするより多くの試合に
var courscrCode = 'CSE1011';
var courseRegex = /([A-Z]{2,})(?:\s*)([0-9]{3,})?$/g;
if (courscrCode.match(courseRegex)) {
var splitted = courscrCode.split(courseRegex);
console.log(splitted.length);
if (splitted.length > 1) {
splitted.forEach(function(value, index) {
if ((value != '') && (value != undefined))
console.log(value, index);
});
}
} else {
console.log('course code mangled');
}
を取得しています。他のソリューションにも公開しています。
ではありません。あなたのコード内で一致するものを読むときには、常に最初のものをスキップしてください。 – Igor
希望する出力の例を追加できますか?私の知る限り、最初のコードブロックは、あなたが記述している方法で動作しています。 – amflare
マッチの最初の要素( 'splitted [0]')は常に一致する文字列全体を返します。 'splitted [1]'と 'splitted [2]'を探してください。 [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec)に基づいて:*返された配列には最初の項目として一致したテキストがあり、 * – Terry