I often met both structure "feel bad for somebody" and "feel sorry for somebody" in English, but it's hard for me to make a distinction. They are the same and can be used interchangeably in any situation, right? If there are any difference between them, please give a some examples.
In the most exact sense of the word, "feel bad for" implies empathy, whereas "feel sorry for" implies sympathy.
In everyday language (in my opinion at least), both of these expressions can be interchangeable, but not always, so it's one of those situations where context is key.
"I feel bad for Bob" and "I feel sorry for Bob" can both mean that you sympathise with Bob's situation, for example if Bob had just lost his job. Unless you are very close to Bob, it's doubtful that his situation physically makes you feel ill, but a native speaker will interpret it as being sympathetic to his loss of employment.
However, "I feel sorry for Bob" can also be interpreted as having pity for Bob, depending on the context. For example, if Bob was in a situation where he was being naive, lets say in a relationship where his friends felt he was being taken advantage of, then one might say that they feel sorry for Bob. Depending on the tone used, "I feel sorry for Bob" may also imply an element "well we did warn him, but he didn't listen", particularly if it's said after some predictable calamity occurred, for example if Bob's new girlfriend just ran off with his best friend.
They are mostly interchangeable.
We tend to use "feel sorry" more often for somebody who has experienced a personal loss or challenge - a death in the family, a serious injury or illness, etc. But it's not a strict rule.
I feel bad for the coach of my favorite football team: they had a losing record and he was fired at the end of the season.
I feel sorry for the coach of my favorite football team: his wife has cancer.