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类库自带的方法:
1、public boolean isNumber(String str)
{
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;
}
return false;
}
}
2.更新:用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,或者不导 ......
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. ......
声明:此文章是网上转型过来的,非本人著。
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容
public class ReadfromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
&n ......
FileInputStream fis=null;
try
{
fis=new FileInputStream("file url")
}
catch(Exception e){e.printStackTrace()}
System.out.println("File has "+ fis.available() + " bytes"); ......