如何在带有模式的字符串后找到一个数字?

时间:2015-07-23 07:19:20

标签: java regex string

我正在尝试从linux中的SSH shell获取最后一个返回代码。 我正在使用命令:public void updatefriendpic(String fuid, String temp, String temp1) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(THUMB_FRIEND, temp); values.put(CONTENT_FRIEND, temp1); // update Row db.update(TABLE_FRIEND_LIST,values,"_id = '"+fuid+"'",null); db.close(); // Closing database connection Log.d(TAG, "New user update into sqlite: "); } 来获取它。 我写过以下代码,但它不起作用:

echo &?

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要在正则表达式中转义$?以匹配这些字符的字面形式,因为?$被视为正则表达式中的特殊字符。

Pattern p = Pattern.compile("echo \\$\\?\\r?\\n([0-9])");
Matcher m = p.matcher(str);
if(m.find()) {
System.out.println(m.group(1));
}

Pattern p = Pattern.compile("echo\\s+\\$\\?[\\r\\n]+([0-9])");