Java String類有一個matches(String regex)方法,用於檢查當前字符串是否與給定的正則表達式匹配。但是,我們如何才能找到當前字符串的子字符串是否與正則表達式匹配?如何找出Java字符串的子字符串是否與正則表達式匹配?
我想模仿使用Java的grep的行爲。 grep佔據一行,並打印與行中任何位置的給定正則表達式匹配的所有行。我不知道如何用Java來做這件事,因爲matches方法檢查整行(即字符串)是否匹配正則表達式,而不是匹配正則表達式中的任何子字符串。
Java String類有一個matches(String regex)方法,用於檢查當前字符串是否與給定的正則表達式匹配。但是,我們如何才能找到當前字符串的子字符串是否與正則表達式匹配?如何找出Java字符串的子字符串是否與正則表達式匹配?
我想模仿使用Java的grep的行爲。 grep佔據一行,並打印與行中任何位置的給定正則表達式匹配的所有行。我不知道如何用Java來做這件事,因爲matches方法檢查整行(即字符串)是否匹配正則表達式,而不是匹配正則表達式中的任何子字符串。
您可以修改正則表達式以允許在前端和字符串的後面通配符什麼。
所以不是:
Pattern regex = Pattern.compile("hello\\sworld")
你有
Pattern regex = Pattern.compile(".*hello\\sworld.*);
請記住,至少第一個通配符需要您的代碼不願意工作。 – Charles 2012-04-17 20:45:44
將通配符放在正則表達式的兩端解決您的問題? – 2012-04-17 20:39:29
哇@ColinD,這是一個很棒的建議!它一定會解決我的問題! – CodeBlue 2012-04-17 20:43:22