0
Actionscript 3에서 정규 표현식을 사용하여 사용자 입력을 테스트하려고합니다. 다음 코드는 문자열을 테스트합니다.Actionscript 3 RegExp 한정 기호가 제대로 작동하지 않는 것 같습니까?
문자열 시퀀스의 시작 부분에는 + 또는 - 기호를 사용할 수 있습니다. 단 하나만 허용됩니다. 그러나, 그것을 무시하는 것 같습니다? 양수인은 + 또는 - 부호의 수를 허용합니다.
나는 값이 배열로 테스트 해요 : 다음 결과에서
tmpArray.push("3d6");
tmpArray.push("d36");
tmpArray.push("-3d6");
tmpArray.push("+d3");
tmpArray.push("++--+3d6");
tmpArray.push("d3");
tmpArray.push("3d");
, 다섯 번째 항목은 거짓 켜져 있어야합니다. 내가 여기서 무엇을 놓치고 있니?
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 다. 나는 세계적인 기능을 가지고 있다고 생각한다.)) –