0

2種類の文字列を識別したいと思います。1つは正規表現で数字で終わる(または付けない)ものです。

\d+$しかし、私はそれらをまたは^\D*\d*$またはで分類することはできません^[a-zA-Z]*[0-9]*$

誰かが理由を教えてもらえますか?そしてこの問題を解決する方法..?

4

2 に答える 2

0

\d+$正規表現エンジンのメソッドを使用する場合(場合によっては文字列全体が一致する必要があるメソッドとは対照的に)、実際に機能するはずです(\d$minopretが彼のコメントで指摘したように)。searchmatch

ただし、両方ともこのタスク^\D*\d*$^[a-zA-Z]*[0-9]*$は適していません。これらの両方で、末尾の数字はオプションであるためです(*ゼロの繰り返しを許可 +し、少なくとも1つは必要です)。

于 2012-06-25T06:13:25.933 に答える
0

まず、あなたの答えは非常に不完全であり、それは答えることを非常に難しくします。あなたのコメントも何も明確にしません。

私の推測:

2つの式^\D*\d*$とを使用すると、数量詞も0回の出現に一致する^[a-zA-Z]*[0-9]*$ため、探しているものを確認できません==>空の文字列に一致します。*

したがって、^\D*\d*$先頭に数字以外の文字列、または空の文字列が続き、最後まで数字または空の文字列が続く任意の文字列に一致します。

つまり、この式は一致します。

  • 空の文字列
  • フーバー
  • Foobar 123
  • 123

だがしかし

  • 123Fooo

ここRegexrでそれを参照してください

于 2012-06-25T06:14:24.637 に答える