0

C#で正規表現を使用して文から複数の文字列を一致させる方法は?
たとえば、次の文では、文字列L - VDomが存在するかどうかを確認したいと思います。

L - V 8:30 a 22:00 時間. Sab y Dom..11:00 a 22:00 hrs.

正規表現の AND 演算子に問題があります。

Regex.IsMatch(hours, @"\bL - V\b.*?\Dom\b")

何か案は?

ありがとう

4

6 に答える 6

2

用語を AND で結合するのが RegEx のデフォルトの動作です。「Dom」の「D」の前のバックスラッシュを除いて、あなたの表現はほぼ正しいです。単語全体のみを検索するために、「Dom」の前に「\b」を追加することもできます。また、「?」パターンの存在のみを確認したい場合は、違いはありません。

\bL - V\b.*\bDom\b

文字列に「L - V」または「Dom」のいずれかを含める必要がある場合、式は次のようになります。

\b(L - V|Dom)\b

単語全体を見つけることが重要でない場合は、両方の式の "\b" をすべて削除するか ( "L - V.*Dom"resp. "L - V|Dom")、または単に

hours.Contains("L - V") && hours.Contains("Dom")
于 2012-07-20T15:14:30.913 に答える