0

私は以下のようなhtmlファイルを持っています:(私は正規表現パターンで新しいです)

<a href=":$451$142">some thing</a>
<a href=":$14$15">some thing</a>                                
<a href=":$3$16">some thing</a>                     
<a href=":$312$17">some thing</a>

すべての「:$ Number $ Number」を「#」に置き換えるにはどうすればよいですか?

4

1 に答える 1

0

この正規表現は機能するはずです:

       String str = @"<a href="":$451$142"">some thing</a>  "+
                    @" <a href="":$14$15"">some thing</a>   "+                             
                    @" <a href="":$3$16"">some thing</a>    "+                 
                    @" <a href="":$312$17"">some thing</a>  ";
       String newStr = Regex.Replace(str,@":\$\d+\$\d+", "#");
       System.Console.WriteLine(str);
       System.Console.WriteLine("\n\n" + newStr);

それは以下をもたらします:

<a href=":$451$142">some thing</a>   <a href=":$14$15">some thing</a>    <a href
=":$3$16">some thing</a>     <a href=":$312$17">some thing</a>


<a href="#">some thing</a>   <a href="#">some thing</a>    <a href="#">some thin
g</a>     <a href="#">some thing</a>

正規表現::\$\d+\$\d+は、で始まり:、その後に続く任意のテキストに一致します$(これ$は正規表現言語の特殊文字であるため、前に余分な文字を付けてエスケープする必要があります\)。次に、$willの後に1つ以上の数字( \d+)が続き、その後に別の数字が続き、その後に1つ以上の数字():が続く必要があり\d+ます。詳細については、このチュートリアルを確認してください。

この場合、正規表現は役に立ちましたが、言語の解析には正規表現を使用しないことを強くお勧めします。HTML関連のプロセスを実行するには、HTMLAgilityPackなどの専用フレームワークを使用してください。あなたがやろうとしているように見えることに似た例をここで見てください。

于 2012-06-28T07:20:09.557 に答える