猿问

正则表达式不太会,求教?

我现在有一个方法,返回值为int类型,用变量num接收。现在我想写一个正则表达式来表示[1-num],即1到num中的某个数。就像[1-8],把8换成num,但是正确的语法是什么?到底怎么写?求教大神


新人沈琦斌
浏览 1280回答 1
1回答

luofuxiang

    楼主可以先定义一个字符串表示正则表达式,再把num的值添加到字符串中,添加后的字符串作为新的正则表达式。类似代码如下:import java.math.*; import java.util.regex.*; public class Test3 {     public static void main(String[] args){     int num = 8;     String regs="[1-";                /*定义正则表达式匹配字符串*/     regs = regs + String.valueOf(num);/*重新构造匹配字符串*/     regs = regs + "]";     System.out.println(regs);         /*打印新的匹配字符串*/          Pattern pattern = Pattern.compile(regs);/*声明一个Pattern对象*/     Matcher matcher1 = pattern.matcher("000000");/*获取Matcher对象*/     Matcher matcher2 = pattern.matcher("1010101");     System.out.println(matcher1.find());/*打印匹配结果*/     System.out.println(matcher2.find());     } }输出结果:[1-8] false true
随时随地看视频慕课网APP

相关分类

Java
我要回答