35

正規表現を、プラス記号で始まり、任意の桁数を含む文字列と一致させる必要があります。

それらは一致する必要があります

  +35423452354554
  or
  3423564564
4

4 に答える 4

58

これはうまくいくはずです

\+?\d+

+行頭のオプションとその後の数字に一致します

編集:

OPの明確化の要求の時点で:3423kk55は最初の部分(3423)であるため一致します。文字列全体に一致させるには、代わりにこれを使用します。

^\+?\d+$
于 2012-10-02T20:58:00.310 に答える
12

次のようになります。

\+?\d+

\+リテラルのプラス記号を?意味し、 は前のグループ (プラス記号) が 0 回または 1 回表示さ\dれることを意味し、数字文字を示し、最後+は前のグループ (数字) が 1 回以上表示される必要があります。

編集:正規表現を使用する場合、検索一致には違いがあることに注意してください(少なくとも Java では、ほとんどの正規表現の実装には同様のメソッドがあります)。findは所有している文字列のどこかで部分文字列を見つけ、matchesは文字列全体をパターンと照合しようとしますが、前後に余分な文字がある場合は失敗します。^正しい方法を使用していることを確認し、行の先頭を強制する a と行$の終わりを強制する a を追加できることを覚えておいてください(全体が^\+?\d+$.

于 2012-10-02T20:58:16.137 に答える
6

単純^\+?\d+$

開始行、次に 1 または 0 の正符号、その後に少なくとも 1 桁の数字、最後に lnie

于 2012-10-02T20:58:19.807 に答える
1

Perl の正規表現は次のようになります。\+?\d+

于 2012-10-02T20:58:10.957 に答える