• Post Reply Bookmark Topic Watch Topic
  • New Topic

Regular expression replacing [ ]  RSS feed

 
Jack Wootton
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I want to write a function to process my own UBB code, so (ignore spaces)

[ I M G ] myImage.gif [ / I M G ]

Would change to the html for an image. However the regular expression for replacing square brackets seems not to have been thought about. Below is some quick code that outlines what i want to do and the problem. Shove it in a JSP page:

<%! String foo = "[img]"; %>
<%! String result = ""; %>
<%= foo %>
<%
result = foo.replaceAll("[img]","-");
%>
<%= result%>


And the output is

[---]

So it is not replacing the '[' and ']' . This I understand is because '[' and ']' are used in regular expressions. However one cannot escape them because an error is thrown:

illegal escape character

What to do?
[ December 29, 2004: Message edited by: Jack Wootton ]
 
Eric Pascarello
author
Rancher
Posts: 15385
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
you try \[IMG\]
 
Jack Wootton
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Still, illegal escape character
 
Steven Bell
Ranch Hand
Posts: 1071
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think what you have to do is escape the \ chacter so the expression should be:

\\[IMG\\]

The reson for the illegal escape character is Java doesn't understand \[
 
Jack Wootton
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It worked. Thank you.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66258
151
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Not really JSP-related, so even though resolved I'm moving this along so it can be available for future reference in a more appropriate forum.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!