-2

トークンの量が不明なhtmlファイルがあります。キーワードは、後でユーザーによって一部のデータに割り当てられます。HTMLに含まれるトークンの量を確認したいと思います。トークンは次のようになります:¤SomeID¤または¤Name¤または¤SomeLongerWord¤。

誰かが私に正規表現を使った完全なコードを教えてもらえますか?それは文字列からリストにトークンを集めるでしょう?

例:

string ExtractFromThis = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?"
List<string> IldLikeToHave = Magic(ExtractFromThis); 
//IldLikeToHave should contain {"¤Name¤", "¤SomeLanguage¤"}

ありがとうございました!

4

1 に答える 1

6

¤.*?¤で囲まれたものに一致する(貪欲でない星に注意)などの単純な正規表現を使用できます¤。これがサンプルです。Regex.Matches()を使用して、すべての一致を取得できます。

区切り文字内のテキストを取得することに興味がある場合は、このように数量詞をキャプチャグループ内に配置し¤(.*?)¤、を使用Match.Groups()してすべての一致のキャプチャグループを取得することもできます。

私はC#を実行しませんが、おそらく次のようになります。

string pattern = @"¤(.*?)¤";
string input = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?";
MatchCollection matches = Regex.Matches(input, pattern);
List<string> l = new List<string>();
foreach (Match match in matches) {
     l.add(match.Groups[1].Value);
}
于 2013-03-18T17:16:36.587 に答える