BancFirst has agreed to acquire Exchange Bancshares of Moore and its subsidiary bank, Exchange National Bank of Moore.