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.");
}
}
}
}
}
相关文档:
除 八个基本类型(Long ,short,int ,float,double,char,byte,boolean)外,其他的数据类型都被称为“引用类型”,也即:Object。Object的操作全是通过对象的引用(Object references),引用可以理解为指针,容易让人对应到C++的传址上面去。所以,大家要注意喽!java里面虽说没指针,其实却不然。 ......
java工作者社区主办
1. 【复选】收入有涨,有干头
22.22%
2. 【复选】收入不乐观,没干头
8.89%
3. 【单选】年收入50万以上
2.22%
4. 【单选】年收入20万~50万
4.44%
5. 【单选】年收入10万~20万 ......
首先,要下载一个连接mysql数据库的驱动程序: mysql-connector-java-3.0.15-ga-bin.jar, 这个驱动程序不需要做其它配置,也就是说,对于mysql数据库,不必像access或者oracle要建立odbc数据源。
其次,将上面的.jar文件加入到classpath环境变量中。
最后,就是写代码进行测试了。
主要代码如下:
......
FileInputStream fis=null;
try
{
fis=new FileInputStream("file url")
}
catch(Exception e){e.printStackTrace()}
System.out.println("File has "+ fis.available() + " bytes"); ......