Ravi has been demanding a lot more marks, doesn't he?
Is this usage correct? Or do we have replace doesn't he with hasn't he or isn't it?
Kindly explain the difference between the three with suitable examples.
Your question is about question tags.
Question tags are the small parts that are turned into a question at the ends of sentences. Your example sentence, "Ravi has been demanding a lot more marks", can be turned into a question by adding the tag hasn't he?
We normally use question tags in speech. "To check information or ask for agreement, we most often put negative tags after affirmation sentences, and non-negative tags after negative sentences." (Practical English Usage, by Michael Swan, (PEU) 487.2 negative after affirmative, and vice versa). – That's why you need a negative tag in your example. It's because Ravi has been demanding ... is an affirmative sentence.
"If the main sentence has an auxiliary verb (or non-auxiliary be), this is repeated in the question tag." (PEU 487.3 auxiliaries)
In your example,
Ravi - a noun (the subject)
has - an auxiliary verb
been - an auxiliary verb
demanding - a main verb (also known as "lexical verb")
a lot more marks - a noun group (the object)
When we have more than one auxiliary verbs, we usually use only the first one in the question tag. Your sentence has two, has and been; has is the first auxiliary verb; so your sentence, with a question tag, would become:
Ravi has been demanding a lot more marks, hasn't he?
The auxiliary verb of the main clause tells us which of doesn't he, hasn't he and isn't it we should use in the tag. We use the same auxiliary verb in both the main clause and in the tag. This also applies when you can't see the auxiliary verb (we use the auxiliary verb do; this is also known as Do-support). Here are some examples straight from the Wikipedia page:
He has read this book, hasn't he?
He's reading this book, isn't he?
He reads a lot of books, doesn't he? -- (note that we use the auxiliary do, i.e. doesn't in the tag)
Always know your verbs.
Know which one is the main verb of a clause, and which is an auxiliary (if there is one or more).
Ravi's been demanding a lot more marks.
Ravi has been demanding a lot more marks.
Because you know that in He has a book both are possible, you may be confused which to use between hasn't he? and doesn't he? in your example. So, what is the solution?
This will go back to the tip "Always know your verbs". In American English, the verb has in He has a book is a main verb (a lexical verb). It has its own meaning: it's used for showing possession. But in your example, "Ravi has been demanding a lot more marks", has is only an auxiliary verb. So, you use hasn't he? (not