LeetCode008:Valid Number(正则表达式的运用)

来源:互联网 发布:浴缸 知乎 编辑:程序博客网 时间:2024/04/30 10:28
package com.abuge;import org.junit.Test;public class Solution {public boolean isNumber(String s){String str = s.trim();if(str.isEmpty()){return false;}//正则表达式的运用:/*第一位:+-(一次或者一次也没有) * 第二位开始:可以使若干数字加一个点或者一个点加若干数字(数字出现一次或多次) * \d:表示[0-9],而+表示一个或多个 * ?:一次或一次也没有 * 指数部分:出现一次或者不出现 */String regex = "[+-]?(\\d+\\.?|\\.\\d+)\\d*(e[+-]?\\d+)?";if(str.matches(regex)){return true;}else{return false;}}@Testpublic void test(){System.out.println(isNumber("0"));System.out.println(isNumber(" 0.1 "));System.out.println(isNumber("abc"));System.out.println(isNumber("1 a"));System.out.println(isNumber("2e10"));System.out.println(isNumber(".1"));System.out.println(isNumber("3."));System.out.println(isNumber("."));System.out.println(isNumber(".."));System.out.println(isNumber("-1."));System.out.println(isNumber("+.8"));System.out.println(isNumber("-."));System.out.println(isNumber(".e1"));System.out.println(isNumber("1e."));System.out.println(isNumber("2e0"));System.out.println(isNumber("46.e3"));System.out.println(isNumber("-e58"));System.out.println(isNumber("005047e+6"));System.out.println(isNumber("6+1"));System.out.println(isNumber("+53"));}}

0 0
原创粉丝点击