开发者

pattern Recognizer in java

开发者 https://www.devze.com 2023-01-29 01:47 出处:网络
I\'m writing a file renamer program in java. The issue is when giving input pattern. Wh开发者_开发技巧en the input is complex like (][) in that case, I\'m getting errors by java.util.regex.Pattern cl

I'm writing a file renamer program in java. The issue is when giving input pattern.

Wh开发者_开发技巧en the input is complex like (][) in that case, I'm getting errors by java.util.regex.Pattern class..

The major issue of writing this code is that the input pattern and replacement pattern are user input. How can I handle such characters during processing ???


This is an example of how one can escape the special RegExp characters in the Java source code. I believe that you will have to escape the special characters manually if the pattern is being entered by a user.


package edu.mew.test.regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegExpPatternTester {

  public static void main(String[] args) {
    String s1 = "filename()[].txt";
    Pattern p = Pattern.compile(".*\\(\\)\\[\\].*");
    Matcher m1 = p.matcher(s1);
    System.out.println(m1.matches());
    String s2 = "filename.txt";
    Matcher m2 = p.matcher(s2);
    System.out.println(m2.matches());
  }

}



You can escape special characters in a regular expression using Pattern.quote.


They are reserved characters in regex you need to escape them with two backslashes

//]

OOPS too much Microsoft influence I meant

backslashes \\]

http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号