0

Outlook 検索の正規表現パターンを見つけようとしています。これを処理するためのグループ化パターンを探しています。

from:Jack subject:(sending invoice) title:ibm

このパターンを使用しましたが、最初の単語の後に単語が表示されません

(?<name>\\w+):[(](?<value>\\w*)[)]*
4

2 に答える 2

1

\wスペースを処理しない場合は、正規表現を次のように変更します。

(?<name>\\w+):[(](?<value>[^)]*)[)]

[^)]*右括弧ではない 0 個以上の文字を意味します。

[^)]+右括弧ではない1つ以上の文字を意味する使用を好むかもしれません。

括弧がオプションの場合は、次を使用します。

(?<name>\\w+):[(]?(?<value>[^)]+)[)]?
于 2012-04-15T12:06:07.710 に答える
0

「値」の最初のブラケットは、正規表現ではオプションではありません

from:Jack 件名:(請求書の送付) title:ibm

空白については、角かっこがすべてのキーと値のペアに存在するわけではないため、次のようにします。

(?<name>\\w+):[(]*(?<value>(?:\\w|\\s)+)[)]*

ただし、値は1つの単語または一連の単語のいずれかですが、括弧内にあるようです-正規表現を書き直しましょう。そうしないと、「:」の後にすべてが最初の値として取得されます:

(?<name>\\w+):(?:(?<value>\\w+)|(?:\\((?<value>(?:\\w|\\s)+)))
于 2012-04-15T13:56:12.187 に答える