0

リストの正確な数ベースと一致し、数が正であるという事実を満たす正規表現を取得するのに少し問題があります。最初は次の作業をしていました。

<!DOCTYPE html>
<html>
<body>

<script type="text/javascript">
    var patt1=/\b(100|101)/g;

    var str="-101";
    document.write(str.match(patt1));
    document.write("<br/>");
    var str="101";
    document.write(str.match(patt1));

</script>

</body>
</html>

しかし、この場合、有効なものとして 101 と -101 が返されることに気付きました。それから私は試しました

var var patt1=/[^-]\b(100|101)/g;

しかし、結果はnull両方の場合でした。

var patt1=/(^-)\b(100|101)/g; 

しかし、その代わりに結果null101反対でした-101 null
これを行う方法については、-101 ではなく 101 が必要です。

4

2 に答える 2

4

これを使用できますregex

var patt1 = /^(100|101)$/;

のみ100または101有効な入力として除外します。

しかし、この単純なテストでは、次を使用します。

if (str === "100" || str === "101")
    // Do something.
于 2012-05-31T16:06:08.003 に答える
0

-これは、何もない文字列内の数字、またはその前以外の文字に一致します。

var patt1 = /(^|[^-\d])(100|101)\b/;
var str1 = "Does this string contain 100 somewhere?"
var str2 = "Does this string contain -100 somewhere?"

console.log(str1.match(patt1)); // Finds a match
console.log(str2.match(patt1)); // Doesn't
于 2012-05-31T16:08:37.293 に答える