Regex - 文字列に英字が含まれている場合にのみ文字列と一致します。
質問
文字列の例
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カテゴリを参照してください。
所属していません StackOverflow