0

正規表現を使用してファイルの場所を解析しようとしていますが、正規表現を使用すると余分な文字が表示されます。私が解析しようとしている行は

 A HREF="/MISO/getEQRFile;jsessionid=1JgnSTXhgvbpSYLVhp3h4ZpGltNpphxr1ncwlGnK3YXsh2phxKh9!794217179?entity=WEPM&nodeId=key0">EQR_WEPM_20131001_123354_M_082013.zip</a></b></td>

引用符の間にテキストが必要です。現在、私は使用しています

^.+?<A\s*?HREF\s*?=\W(.+?.+?>) but it gives me the value 

match.Groups[1].Value: /MISO/getEQRFile;jsessionid=1JgnSTXhgvbpSYLVhp3h4ZpGltNpphxr1ncwlGnK3YXsh2phxKh9!794217179?entity=WEPM&nodeId=key0">

最後に余分な "> です。誰かが私を助けてくれれば幸いです。

4

2 に答える 2

0

正規表現置換コマンドを使用して、次を使用できます。

(<A\s*?HREF\s*?=\W(.+?.+?>))([^<]*)(</a\s*>)

3 番目のグループ (ファイル名自体) に置き換えます

\3
于 2013-10-07T20:52:34.807 に答える
0

あなたの正規表現は確かに奇妙です... HTMLを解析しようとしている場合は、適切なHTMLパーサーを使用する必要があることに注意してください。

正規表現の問題点は>、キャプチャ内にあるため、最大>.

否定されたクラスを使用してみてください。

^.+?<A\s*?HREF\s*?="([^"]+)"

または、一重引用符および/または二重引用符がある場合:

^.+?<A\s*?HREF\s*?=(["'])(.*?)\1>

そして使用しますmatch.Groups[2].Value

于 2013-10-07T20:38:30.413 に答える