Regexb单词边界不起作用



在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);

我在中进行了测试

非常感谢。

您应该转义以从字面上表示。否则b表示退格字符。

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

最新更新