Syrian President Bashar Assad said Wednesday that setbacks are a normal part of war and do not mean the conflict is lost, in his first comments after several regime defeats.

"Today we are fighting a war, not a battle. War is not one battle, but a series of many battles," he said at a rare public appearance on Syria's Martyrs Day.

"We are not talking about tens or hundreds but thousands of battles and... it is the nature of battles for there to be advances and retreats, victories and losses, ups and downs."

Assad's remarks at an appearance at a Damascus school were his first since a string of regime losses, particularly in northwestern Idlib province.

In the past few weeks, rebel forces including al-Qaida's Syrian affiliate Al-Nusra Front have seized Idlib's provincial capital, the strategic town of Jisr al-Shughur, and a military base in the region.

The losses in the province, along with rebel advances in the south, have worried some in government-held areas and prompted speculation about the strength of the regime's forces.

But Assad urged his supporters to remain confident in the face of setbacks.

He warned against "the spread of a spirit of frustration or despair at a loss here or there".

"In battles... anything can change except for faith in the fighter and the fighter's faith in victory," he said.

"So when there are setbacks, we must do our duty as a society and give the army morale and not wait for it to give us morale."

While Assad did not explicitly acknowledge his army's losses in Idlib, he paid tribute to regime forces that remain holed up in a hospital building in the now-rebel-held town of Jisr al-Shughur.

"The army will arrive soon to these heroes trapped in the Jisr al-Shughur hospital," he pledged.

He also had harsh words for Turkey's President Recep Tayyip Erdogan, calling him a "butcher" and comparing him to the Ottoman ruler who ordered the 1916 executions that Martyrs Day commemorates.

Syria's government has regularly criticised Turkey and other opposition supporters, accusing them of backing "terrorism".

More than 220,000 people have been killed in Syria since March 2011, when the conflict began with anti-government demonstrations that were met with a regime crackdown.