2014-09-19 60 views
2

在Android中我的下一個正則表達式\b(id)\b正則表達式乙字邊界不工作

在此查詢(即)我想更換正是字「ID」:

SELECT schedules.id as 'idreal' FROM schedules WHERE schedules.id = 12; 

最終查詢:

SELECT schedules._id as 'idreal' FROM schedules WHERE schedules._id = 12; 

但它不起作用,\ b是爲字邊界,但它不起作用。我在做什麼?

這是我的代碼:

Matcher matcher = Pattern.compile("\b(id)\b").matcher(field); 
String query = matcher.replaceAll("_id"); 

Log.v(TAG, "Clean Query: " + query); 

非常感謝測試。

+2

回答falstru。您需要再次避開反斜槓 – 2014-09-19 17:10:25

回答

4

字面上,您應該跳過\以代表\。否則\b表示退格字符。

Matcher matcher = Pattern.compile("\\b(id)\\b").matcher(field);