Refactoring conditions in text parsing method
As you probably suspected yourself,
this looks neither readable nor maintainable.

The method makes too many references to outside:
a dozen or so references in regCompare.*,
and a handful variables defined outside (isSearchTokenFound, isParserEngineStop, ...),
and a handful of other methods (keepRecordsNoKeywordPatternToSeekAfterTokenExists, keepRecordsKeywordToSeekAfterToken).

All this indicates that there is no good information hiding in your design.
Too many dependencies on external factors makes an implementation too complex and incomprehensible.
I'm afraid what you have here is effectively spaghetti code.

Fixing this is difficult. It's not unusual in software development that an approach turns into a complete mess and then you need to restart from scratch in a different direction. It can be very difficult to write a good readable parser.

Here are a few ideas to try to improve this code:


Eliminate anything unused: the hasFont variable is unused, and therefore the fontCurrentLine parameter too. Remove them.
Avoid unnecessary calls: if isFileHeader is true, then isFileFooter and isLinesToSkip won't have to be executed. It seems as if you're trying to declare all variables at the top for some reason. In general that's not a good practice. Try to declare and initialize variables right before they are really needed, no need to do far in advance.
Improve the names: hasRegexTokensToSkip sounds like a boolean, but it's actually a String
Early returns might help. The first couple of else-ifs look like guard statements. Sometimes, turning these into if + return might make the code somewhat easier to read by reducing the indent level of the last else block.


After you apply these simple transformations the code might look slightly better.
But in the end, you might be better starting over from scratch.