Outlook 検索の正規表現パターンを見つけようとしています。これを処理するためのグループ化パターンを探しています。
from:Jack subject:(sending invoice) title:ibm
このパターンを使用しましたが、最初の単語の後に単語が表示されません
(?<name>\\w+):[(](?<value>\\w*)[)]*
Outlook 検索の正規表現パターンを見つけようとしています。これを処理するためのグループ化パターンを探しています。
from:Jack subject:(sending invoice) title:ibm
このパターンを使用しましたが、最初の単語の後に単語が表示されません
(?<name>\\w+):[(](?<value>\\w*)[)]*
\w
スペースを処理しない場合は、正規表現を次のように変更します。
(?<name>\\w+):[(](?<value>[^)]*)[)]
[^)]*
右括弧ではない 0 個以上の文字を意味します。
[^)]+
右括弧ではない1つ以上の文字を意味する使用を好むかもしれません。
括弧がオプションの場合は、次を使用します。
(?<name>\\w+):[(]?(?<value>[^)]+)[)]?
「値」の最初のブラケットは、正規表現ではオプションではありません
from:Jack 件名:(請求書の送付) title:ibm
空白については、角かっこがすべてのキーと値のペアに存在するわけではないため、次のようにします。
(?<name>\\w+):[(]*(?<value>(?:\\w|\\s)+)[)]*
ただし、値は1つの単語または一連の単語のいずれかですが、括弧内にあるようです-正規表現を書き直しましょう。そうしないと、「:」の後にすべてが最初の値として取得されます:
(?<name>\\w+):(?:(?<value>\\w+)|(?:\\((?<value>(?:\\w|\\s)+)))