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

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;
		}
		
		
	}
	@Test
	public 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"));
		
	}
}

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...