Regex - 文字列に英字が含まれている場合にのみ文字列と一致します。

StackOverflow https://stackoverflow.com/questions/601554

  •  03-07-2019
  •  | 
  •  

質問

文字列の例

785*()&!~`a

##$%$~2343

455frt&*&*

最初と 3 番目をキャプチャしたいのですが、アルファベット文字が含まれていないので 2 番目はキャプチャしたくないのですが、助けてください。

役に立ちましたか?

解決

実際、 [a-zA-Z] は文字列を一致させるのに十分かもしれません。

すべてをキャプチャするには、次を試してください: ^。* [a-zA-Z]。* $

他のヒント

可能な方法の1つを次に示します。

.*[a-zA-Z]+

「catpuring」が何を意味するのかをもう少し明確にしたほうがよいでしょう。ASCII ビットだけの文字列全体が必要ですか?

また、単純なローマ字 (A から Z) だけと一致する必要があるのか​​、それとも他の言語の文字列と一致するために Unicode 文字も一致する必要があるのか​​についても言及されていません。

文字列をテストするだけの場合は、C# で次のようにします。

bool matching = Regex.IsMatch(myString, "[a-zA-Z]");

文字が 1 つだけあるだけなので、他には何も必要ありません。 myString 文字列は(定義に従って)一致します。

これは私のお気に入りのRegExテストサイトです。 Javascript正規表現テスターとチートシート

すべての文字(非ASCII文字を含む)に一致させる場合は、 [a-zA-Z] の代わりに p {L} を使用します。 Unicodeカテゴリを参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top