3

次のシナリオ (Javascript コード) を検討してください。

regex = new RegExp((/([\d,.]+)[ $]/));
value = "2.879"  

正規表現は値と一致しませんが、(value+" ") と一致するため、$ は一致しないと思いますか? 何故ですか?

$ は文字列の末尾を検証するべきではありませんか?

4

1 に答える 1

6

のような特殊文字$は、文字クラス内では同じ意味を持ちません。文字クラスでは単なる文字であるため[ $]、スペース文字または文字のいずれかに一致します$。文字列の末尾には一致しません。

スペース文字または文字列の末尾に一致させたい場合は、代替を使用する必要があります( |$)

于 2015-04-22T23:38:22.970 に答える