2016-07-11 13 views
-5

文が単語を含むかどうかを調べるには正規表現が必要です。接頭辞または接尾辞を持つ単語の場合、その単語は有効ですが、。* + - などのような特定の文字には有効ですが、いくつかの例があります。 プロセス単語、有効な文のために、私はそれらを作る大胆特定の文字を含む単語を含む正規表現

  1. プロセス
  2. プロセス
  3. 処理
  4. プロセス固有
  5. は、プロセッサ
  6. に処理するために私が探しています
  7. プロセスの
  8. "プロセス"
  9. process10
+0

は、あなたが何かを試してみたことがありますか? – Kinetic

+0

[ - '"]プロセス[ - '"]この正規表現を使用しますが、ライト "プロセス" – madan

+0

プロセスだけも無効です – madan

答えて

3

単語境界クラス(\b)を使用します

string[] strings = new string[] { 
    @"processes", 
    @"process", 
    @"Processing", 
    @"process-specific", 
    @"processed", 
    @"processor", 
    @"procession", 
    @"Inter-process", 
    @"uniprocessor", 
    @"multiprocessing", 
    @"process's", 
    @"""process""", 
    @"process10" 
}; 

foreach (string s in strings) 
{ 
    if (Regex.IsMatch(s, @"\bprocess\b", RegexOptions.IgnoreCase)) 
     Console.ForegroundColor = ConsoleColor.Green; 
    else 
     Console.ForegroundColor = ConsoleColor.Red; 
    Console.WriteLine(s); 
} 

enter image description here

:あなたは正しい結果を与える必要があり、大文字と小文字を区別しない正規表現マッチで

\bprocess\b 

末尾の数字RSは、許可されています:

\bprocess(?:\b|\d+) 

enter image description here

+0

は大文字と小文字を区別する必要があります – Jay

+0

文字列をスキャンするように変更しましたか? – Jay

+0

@Jay絶対に真実。 'Regex.IgnoreCase'との回答が更新されました –

-1

Sincフィルタをマルチプロセッシング210行列

  • プロセス間
  • ユニプロセッサ
  • すべての式には次のものが含まれています:rocess IndexOfを使用して独自の式をロールするだけで、この簡単なタスクのために過度に使用されているよりもパフォーマンスが向上し、割り当ての制御が向上します。

    See also Automata

  • +0

    'multiprocessing'にはプロセスが含まれていますが、質問に基づいて有効ではありません。 – user3185569

    +0

    確かに... 'multip'rocess'ing' – Jay

    +0

    あなたのシステム文字列とRegexライブラリが高度に最適化されていて、組み込み関数を使うことができない限り、独自の解決方法を使うとパフォーマンスが向上し、メモリ使用量が少なくなることはありえません。ダウン投票ではなく、事実は事実です... – Jay

    関連する問題