2012-08-27 41 views
0

我想匹配一個HTML文件:如何匹配Java中String的開頭?

如果文件以空格開始,然後是結束標記</sometag>return true

其他return false。我使用了"(\\s)*</(\\w)*>.*",但它不匹配\n </p>\n </blockquote> ...

+0

@加貝我以爲它匹配換行符。看到這裏http://www.vogella.com/articles/JavaRegularExpressions/article.html。 \ s \t空格字符,[\ t \ n \ x0b \ r \ f]的縮寫 – JackWM

+0

@JackWM:你是對的;它是'''不一定匹配'\ n'。參見'DOTALL'模式。 – Gabe

+0

@Gabe明白了。謝謝! – JackWM

回答

1

感謝Gabe的幫助。 Gabe是正確的。 .默認與\n不匹配。我需要設置DOTALL模式。

要做到這一點,請將(?s)添加到正則表達式的開頭,即(?s)(\\s)*</(\\w)*>.*

1

你也可以這樣做:

Pattern p = Pattern.compile("(\\s)*</(\\w)*>"); 
Matcher m = p.matcher(s); 
return m.lookingAt(); 

字符串是否與該模式開始,而不是檢查整個字符串的模式匹配,它只是檢查。

+0

我同意,TimK。謝謝! – JackWM

相關問題