File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Right to Left search in Java Regex Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Right to Left search in Java Regex" Watch "Right to Left search in Java Regex" New topic

Right to Left search in Java Regex

Lucky J Verma
Ranch Hand

Joined: Apr 11, 2007
Posts: 278
I want to do right to left backwards search as in .net.
My regex is ^(.*\\S+.*$) .
How can i implement it in Java?In .net We have RegexOptions.RighttoLeft and Java regex engine doesnt allow backward searching.
So i am looking for alternatives.


prem pillai
Ranch Hand

Joined: Nov 02, 2007
Posts: 87

may be you can reverse your input & regex and then match.

Why do you want to do a reverse lookup ?
Martin Vanyavchich
Ranch Hand

Joined: Sep 16, 2008
Posts: 241
Just as Prem Pillai said, reverse the string and then match.

I no good English.
Lucky J Verma
Ranch Hand

Joined: Apr 11, 2007
Posts: 278
I did the same ,reversed the string and reversed it back after output.

To Pillai's Qn- I need to do Backward search because i look for a search word in a document and then pick previous 2 lines and next 2 lines and current line.
So for previous lines, i do backward matching.

How much good it is in performance wise to do this.-
reverse the string ,
reverse the pattern (I dint need this ,because i search line by line)
Mapping the index
Search and

then reverse back and also i am using collection to pick up all the lines ,reverse collection too.

Is there any other efficient method?
Henry Wong

Joined: Sep 28, 2004
Posts: 20535

Yeah... the .NET backward searching feature is nifty isn't it?

Another option, is to do a forward search, and save the results somewhere. Then use a loop that will iterate the results backwards.


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
I agree. Here's the link:
subject: Right to Left search in Java Regex
It's not a secret anymore!