2014-09-19 57 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);