0

先頭タグがor<html >や. 検索文字列を正規表現形式で指定するには?<html>< html>

String source = "<html >The quick brown fox jumps over the brown lazy dog.</html >";
String find = "<html>";
String replace = "";        
Pattern pattern = Pattern.compile(find);        
Matcher matcher = pattern.matcher(source);        
String output = matcher.replaceAll(replace); 
System.out.println("Source = " + source);
System.out.println("Output = " + output);
4

4 に答える 4

3

を実行することで問題を回避できますが、 HTML を正規表現で処理しない<\\s*html\\s*>でください。義務的なリンク

は 0 個以上の\\s*空白を表します。

于 2012-09-07T12:08:00.443 に答える
1

正規表現を使用してHTMLを解析しようとしないでください。について読んでみてくださいXPath。非常に役立ちます。XPathデフォルトではドキュメントの検証を試みますが、有効にすることもできますHtmlCleaner

于 2012-09-07T12:11:22.057 に答える
0

タグ内のテキストを抽出するには、次のようなものを使用します

String source = "<html >The quick brown fox jumps over the brown lazy dog.</html >";
System.out.println( source.replaceAll( "^<\\s*html\\s*>(.*)<\\s*\\/html\\s*>$", "$1" ) );
// output is:
// The quick brown fox jumps over the brown lazy dog.

ただし、正規表現によるhtmlの解析は避けてください。このトピックを読んでください。

于 2012-09-07T12:09:36.843 に答える
0

この例は役に立つかもしれません。

String source = "<html >The quick brown fox jumps over the brown lazy dog.</html >";

        String find = "\\<.*?>";
        String replace = "";        
        Pattern pattern = Pattern.compile(find);        
        Matcher matcher = pattern.matcher(source);        
        String output = matcher.replaceAll(replace); 
        System.out.println("Source = " + source);
        System.out.println("Output = " + output);
于 2012-09-07T12:14:50.523 に答える