用String.matches()中的这个正则表达式应该怎么写?

解决方案 »

  1.   

    用正则表达式 \d*就可以
    如:
    String s =   "Hello";   
    s.matches("\d*");
    \d 任意一个数字,0~9 中的任意一个 
    \w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
    \s 包括空格、制表符、换页符等空白字符的其中任意一个
     
      

  2.   

    你想问的是判断String中输入的是包含数字还是全是数字?
    前者用String.matches("\\d+")
    后者用String.matches("\\^\\d+\\$")
      

  3.   

    String a = "154545";
    Pattern regex = Pattern.compile("[0-9]*");
    Matcher match = regex.matcher(a);
    boolean flag = match.matches();
      

  4.   

    package test1;public class Test14 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根
    String st="12345678";

    System.out.println(st.matches("\\d+"));
    System.out.println(st.matches("[1-9]+"));
    }}
    用正则判断还有很多方法,现帮你写两种,
      

  5.   

    package test1;public class Test14 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根
    String st="-0.12345678";

    System.out.println(st.matches("-*\\d+\\.*\\d+"));

    }}
    改一下正则式就可以了,这个应该可以满足了吧
      

  6.   

    System.out.println(st.matches("-*[0-9]+\\.*[0-9]+"));
    这句也满足
      

  7.   


    package test1;public class Test14 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根
    String st="-0.12345678";

    System.out.println(st.matches("-?\\d+\\.*\\d+"));
    System.out.println(st.matches("-?[0-9]+\\.*[0-9]+"));
    }}
    这个应该更严谨一点?表示0个或一个
      

  8.   

    顶  
     joejoe1991() ( ) 信誉:98  2007-08-08 12:25:34  得分: 0  
     
     
       ^-?\\d+$