JAVA正则表达式
我灰常鸡冻,AC了一个188人AC的题目,开始死活RE,让人不禁脑残,理论上按题目描述接收split的string数组开到2足足够,但是HH大牛还是执着的提出了数组越界的可能,后来看那个大小为5的数组有点太葛朗台,索性改成105(可是明明2个就够了啊,啊,啊,啊,f**k),然后交:AC,靠。脑残+1,贼么可能呢!难道题目描述又在玩人,把105重新改作5再交:AC,贼让人情以何堪……
教训:AC不是终极目的,程序对了才是目的。。。管他娘的AC还是RE……
PS:java的正则表达式真是让我越来越震精了,学了正则表达式有种学会一种新语言的快感!然后,我没有无形中暗示CPP不好咋滴,其实CPP也有正则表达式的功能,sscanf和ssprintf可见一斑。
唉,188/502 悸动啊
import java.io.*;
import java.util.*;
import java.util.regex.*;
import java.text.*;
public class Main
{
public static void main(String[] args)
{
Scanner pz=new Scanner(new BufferedInputStream(System.in));
String str;
String[] ss=new String[5];//明明一个足够了,因为输入表示只会在字串首部或末尾有空格
//ms也能一个表达式搞定所有的情况,无奈脑容量有限,想不出
Pattern pata=Pattern.compile("\\s*[+|-]?\\d+\\.\\d+[e|E][+|-]?\\d+\\s*");//匹配类似 +4.1234567890E-99999 或+4.13E99
Pattern patb=Pattern.compile("\\s*[+|-]?\\d+\\.\\d+\\s*");//匹配类似 1.2
Pattern patc=Pattern.compile("\\s*[+|-]?\\d+[e|E][+|-]?\\d+\\s*");//匹配类似 1e-12
Matcher mat=null;
while(pz.hasNext())
{
str=pz.nextLine();
if(str.charAt(0)=='*')
break;
ss=str.split(" ");
for(int i=0;i<ss.length;++i)
System.out.print(ss[i]);
mat=pata.matcher(str);
if(mat.matches())
System.out.println(" is legal.");
else
{
mat=patb.matcher(str);
if(mat.matches())
System.out.println(" is legal.");
else
{
mat=patc.matcher(str);
if(mat.matches())
System.out.println(" is legal.");
else
System.out.println(" is illegal.");
}
}
}
}
}
相关文档:
先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
private Object data; //元素本身
private NodeBean next; //下一个节点
&n ......
1.Java的代码一般分为两大类:一种是结构定义语句;一种是功能语句(功能语句要用分号结尾)。
2.用/* 内容 */注释,内容里面是不能存在/* */的;但是可以存在//;因为这样就不会发生系统不知道哪个*/才是真的结束符。
3.变量使用前必须初始化,使用单引号的作用就是把里面的字 ......
除 八个基本类型(Long ,short,int ,float,double,char,byte,boolean)外,其他的数据类型都被称为“引用类型”,也即:Object。Object的操作全是通过对象的引用(Object references),引用可以理解为指针,容易让人对应到C++的传址上面去。所以,大家要注意喽!java里面虽说没指针,其实却不然。 ......
一.项目简介:
JAVA语言是一种可移植的,简单的,健壮的嵌入式语言。并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器。
本项目中,作者用JAVA语言编写了一个WEB微型服务器,对简单的HTTP请求进行响应,并通过后端数据库对用户的查询进行处理,从而动态地返回HT ......
package com.wensefu.constructor;
class Meal{
Meal(){
System.out.println("Meal()");
}
}
class Bread{
Bread(){
System.out.println("bread()");
}
}
class Chesse{
Chesse(){
System.out.println("Chesse()");
}
}
class Lettuce{
Lettuce(){
System. ......