我需要将一些perl正则表达式转换为Java正则表达式。我是Java新手,对Java正则表达不太了解。
我要转换的正则表达式与此
非常相似Text =~ /(^FOO[0-9]{4})|(^BAR[0-9]{3})/
查看字符串是否与FOO4823
BAR943
(FOO
和4个数字或BAR
和3个数字匹配)匹配。我将如何用Java重写它?是否有任何简单的规则来转换它们?
答案 0 :(得分:1)
它非常相似。
Pattern pattern = Pattern.compile("(^FOO[0-9]{4})|(^BAR[0-9]{3})");
System.out.println(pattern.matcher("FOO4823").find());
System.out.println(pattern.matcher("BAR943").find());
查看测试here
答案 1 :(得分:0)
要用Java重写它,你想要像
这样的东西String text = ...
Matcher matcher = Pattern.compile("(^FOO[0-9]{4})|(^BAR[0-9]{3})").matcher( text );
if( matcher.find() ) {
// ... it was found
}
至于将Perl转换为Java的指南,有一个pretty good discussion in this StackOverflow question.