0

次のような計算文字列から個々の文字を一致させたいと考えています。

(123+321)*1.15

マッチングしたいキャラクターのリストは次のとおりです。

0-9, ., +, -, *, /, (, ), %

文字列の各文字は個別に関数に渡されます。私は出発点を持っていると思います(これは数字でうまく機能します):

if (character.match(/[0-9]{1}/) !== null) {
    // do something...
}

ただし、残りの文字を追加する方法がよくわかりません(この件に関する無数の記事を読んだ後でも、正規表現は常に混乱していると思います)。

4

1 に答える 1

2

0-9のように、必要な文字を追加するだけです

character.match(/[0-9.+\-*/()%]/)

RegExp でエスケープする必要がある唯一の文字は-、通常は文字の範囲を意味するためです。

{1}デフォルトでは 1 つのインスタンスに一致するため、必要はありません。

于 2013-04-15T19:54:39.930 に答える