0
Actionscript 3では、私は正規表現を使用してユーザー入力をテストしようとしています。 - 文字列シーケンスの初めに看板、一つだけ+またはを許可するようになっているActionscript 3 RegExp量子が正しく動作しないようですか?
private function ValidateModifier(tst:String):Boolean
{
var validDieRoll:RegExp = /([+-]?)([0-9]+)d([0-9]+)/;
return (validDieRoll.test(tst));
}
:次のコードは、文字列をテストします。しかし、それを無視しているようです?任意の数の+または - 記号を受け入れることができます。私は、この値の配列をテストしてい
:次の結果で
tmpArray.push("3d6");
tmpArray.push("d36");
tmpArray.push("-3d6");
tmpArray.push("+d3");
tmpArray.push("++--+3d6");
tmpArray.push("d3");
tmpArray.push("3d");
、5番目の項目は偽を上がっているはずです。私はここで何が欠けていますか?
3d6 = true
d36 = false
-3d6 = true
+d3 = false
++--+3d6 = true
d3 = false
3d = false
私はまったく同じ結果と正規表現のこれらの順列を試してみました:
var validDieRoll:RegExp = /([+-]{0,1})([0-9]+)d([0-9]+)/;
var validDieRoll:RegExp = /([+-]{0,1}?)([0-9]+)d([0-9]+)/;
Voila!問題が解決しました。不思議にも、元のバージョンはPHPスクリプトでうまく機能していました。 –
正しい結果が得られてはいけません。しかし、それはPHPだ、私はそれがグローバルな機能を持っていると思う。 )) –