私は次のような文字列を持っています:
<String>VariableText</String>
ノード内の「VariableText」値を識別するための正規表現が必要です。
テキストが示すように、値は可変である可能性があります。
正規表現を使用してこれをどのように達成できますか?
明確に区切られた「何か」を取得するための2つの一般的な正規表現パターンがあります。
/%PatternForOpeningDelimiter%(.+?)%PatternForClosingDelimiter%/
...または、あなたの場合:
/<String>(.+?)<\/String>/
コンテンツは$1
変数に保存されます。
/(?<=%PatternForOpeningDelimiter%).+?(?=%PatternForClosingDelimiter%)/
...または、あなたの場合:
/(?<=<String>).+?(?=<\/String>)/
このパターンは「必要なコンテンツ」をカバーし、正規表現変数(、、など)を使用する必要はありませ$1
ん$2
。
ただし、可変長パターン(たとえば(?<=\d+)
、など)は、.NET正規表現フレーバー(その有用な観察のための@Alan Mooreのクレジット)で後読み式として使用できることに注意してください。この機能が不足している(または部分的にサポートしている)。
私はこのパターンがあなたが望むことをすることができると思います
string pattern = "$<[s|S]tring>\w*</[s|S]tring>^";
Regex r= new Regex(pattern);