2016-11-24 15 views
2

私は、テキストの次のパターンの形式になります。正規表現に一致するグループ

  • [1/@DaysInMonth @FirstTitle] @SecondTitle

@DaysInMonthは@FirstTitleは、選択した月にそこに基づいて何日に取得していると@ SecondTitleは英数字です。

私は次のように試してみました:

[\1(?<DaysInMonth>\d\s+) (?<FirstTitle>[\w\s \]+)\] (?<SecondTitle>[\w\s \]+)$] 

しかし、それは作業には思いませんでした。マッチ文字は53文字です。 [Link]

どうすればこの問題を解決できますか?

編集@ baddger964後の答えは:

私はこのような自分のアプリケーションで使用したい

private Regex _regex = null; 

string value = "[1/30 Development In Progress] Development In Progress"; 

_regex = new Regex(@"\[\d+\/(?<DaysInMonth>\d+)\s(?<FirstTitle>[\w\s]+)\]\s(?<SecondTitle>[\w\s]+)").Match(value); 

string value1 = _regex.Groups["DaysInMonth"].Value; 
string value2 = _regex.Groups["FirstTitle"].Value; 
string value3 = _regex.Groups["SecondTitle"].Value; 

あなたの答えは非常に感謝しています。

ありがとうございます。

+0

この作品のようなものが行われます、 '\ \] $' – Neal

+0

こんにちはニール[\ D + /(dは+ \ ?)( [^]?] +)( *?を?)回答をいただきありがとうございます、私はあなたのソリューションを試してみましたが、どちらもうまくいかなかったようです。 [Link](https://regex101.com/r/7YPiUQ/3) – Reinhardt

+0

答えが得られたらうれしいですが、将来参照するために、regex101.comを使用してC#正規表現をテストしないでください。 php、javascript、python regexは異なっており、C#regexをテストすることはできません。 Expresso(http://www.ultrapico.com/expresso.htm)と呼ばれる良いフリープログラムがあり、C#regexをテストすることができます。 – Neal

答えて

2

たぶん、あなたはこれを使用することができます:ノートの

\[\d+\/(?<DaysInMonth>\d+)\s(?<FirstTitle>[\w\s]+)\]\s(?<SecondTitle>[\w\s]+) 

\1を=>は、最後に定義された一致グループとして "1" の一致\1ので、同じことをエスケープいけません。

[ => OU [であなたがcaracters

のセットを作成するため、この\[をエスケープする必要があるので、あなたの正規表現:

[\1(?<DaysInMonth>\d\s+) (?<FirstTitle>[\w\s \]+)\] (?<SecondTitle>[\w\s \]+)$] 

は言う:私はcaracterのこのセットから1 caracterにマッチします:

\1(?<DaysInMonth>\d\s+) (?<FirstTitle>[\w\s \]+)\] (?<SecondTitle>[\w\s \]+)$ 
+0

こんにちは@ baddger964。答えてくれてありがとう、私はあなたの正規表現のパターンを試しました、それは一致しないものがあるようです。ここにリンクがあります:[リンク](https://regex101.com/r/7YPiUQ/2) – Reinhardt

+0

これを試してくださいhttps://regex101.com/r/7YPiUQ/4 – baddger964

+0

この正規表現はv4では動作しますが、v2では動作しません理由を知りません – baddger964

0

このようにしますか? ここでは、あなたがinteresse場合正規正規表現の例です。

https://regex101.com/r/wLBj7Z/1

+0

こんにちは@ルーカスCarnevalli、それは動作しているが、私はいくつかのグループの文字(名前付きキャプチャグループ)と一致したい。サーバー側(asp.net c#)から名前付きキャプチャグループを使用します。 – Reinhardt

関連する問題