1

正規表現を使用して HTML ファイル内のコメントを照合し、C#.net (VS2010) ソリューションを使用してそれらを完全に削除しようとしています。コメントは次のようになります。

/*This flexibility is not available with most other programming languages. E.g. in Java,
the position for \G is remembered by the Matcher object.
The Matcher is strictly associated with a single regular expression and a single subject
string.*/

私は試しました/\*.+\*/

str = File.ReadAllText("Test.html");<br />
str = Regex.Replace(str, "/\*.+\*/", "", RegexOptions.Singleline);<br />
File.WriteAllText("Test.html", str);

しかし、彼らは私のために働いていませんでした. フォーラムでいくつかの回答をたどりましたが、まだ運がありません。

助けていただければ幸いです:)

ありがとう...

4

2 に答える 2

1

文字列リテラルにエスケープのレイヤーを追加する必要があります。

str = Regex.Replace(str, "/\*.+\*/", "", RegexOptions.Singleline);

は c# 文字列リテラルのエスケープ メタ文字である/*.+*/ため、パターンとして生成されます。\次のバリアントのいずれかを使用して指定する必要があります(@エスケープシーケンスの処理を防ぎ\\ます。自明のはずです...):

str = Regex.Replace(str, @"/\*.+\*/", "", RegexOptions.Singleline);

また

str = Regex.Replace(str, "/\\*.+\\*/", "", RegexOptions.Singleline);
于 2013-04-26T12:11:08.183 に答える
0

を見つける/*comments*/には、次の正規表現を試してください。

/\/\*.+?\*\//ims
于 2013-04-26T12:12:42.487 に答える