2017-07-17 10 views
-4

最後の文字列が"...abc" or "...xyz" or "...fgh"かどうかを確認する必要があります。どのような正規表現が適切でしょうか?

私はそれを学びたいと思うように正規表現を使って同じことを達成できますか?

例えばセンテンス1:こんにちは私の名前はABCです。 文章2:私はxyzに住んでいます。

上記の文章は、デモするためのサンプルです。パイプで区切られ括弧の間、あなたの可能なオプションを入れ

(abc|xyz|fgh)$ 

+4

あなたは文字列が*正確に*「ABC」、「XYZ」、または正規表現と「FGH」のどちらかであるかどうかを確認する方法を知っていますか? – Ryan

答えて

5

Regexは必要ありません。ただ、String.EndsWithは使用:

string a = "asdasd abc"; 

Console.WriteLine(a.EndsWith("abc.") || a.EndsWith("xyz.") || a.EndsWith("fgh.")); 
+0

'EndWith()'を使って3つの可能性をチェックする方法は?無駄な3回実行する必要があります。 10の可能性をチェックする必要がある場合はどうすればよいですか? –

+0

@RacilHilanいいえ、私は3回走らせる必要はありません。 '||'は最初の 'true'まで動作します。 –

+0

@RacilHilanさらに、正規表現がどのように機能すると思いますか? 3件もチェックします。 –

2

あなたはこの単純な正規表現パターンを使用することができます。 $は、文字列の最後を意味します。

+0

文の最後に句読点を付けることも考えます(OPからは明白ではありません)。 – vasek

+0

@vasekはい、それははっきりしません。常にピリオドで終わる場合は、 '$'の前に '\ .'を追加します。 –

関連する問題