Java 字符串检验问题,符合一定格式
写一个方法,对一个字符串进行检验,看其是否符合规定格式:字符串格式如下"0\n1什么时间?\n0\n1今天\n0\n1明天\n0\n1后天\n0\na\n"也就是说字符串...
写一个方法,对一个字符串进行检验,看其是否符合规定格式:
字符串格式如下
"0\n1什么时间?\n0\n1今天\n0\n1明天\n0\n1后天\n0\na\n"
也就是说字符串是
0
1什么时间?
0
1今天
0
1明天
0
1后天
0
a
每行都从1开始,下一行是0,然后再从1开始,最后跟一个字母。
方法应当返回true如果字符串符合规定格式。 展开
字符串格式如下
"0\n1什么时间?\n0\n1今天\n0\n1明天\n0\n1后天\n0\na\n"
也就是说字符串是
0
1什么时间?
0
1今天
0
1明天
0
1后天
0
a
每行都从1开始,下一行是0,然后再从1开始,最后跟一个字母。
方法应当返回true如果字符串符合规定格式。 展开
2个回答
展开全部
你好,我测试了一下,程序如下
public class TestMatch {
public static void main(String[] args) {
String str1 ="0\n1什么时间?\n0\n1今天\n0\n1明天\n0\n1后天\n0\na\n";
System.out.println(str1.matches("(0\\n1\\S*\\n)*0\\n[a-zA-Z]\\n"));
}
}
程序返回:true
不过你说的规律跟你这个字符串不一样,应该是从0单一行,然后1一行后跟单词,重复若干遍后最后0一行,字母结束,最末位有回车,我是按照这个规律写的,如果不一样请提出,或者根据规律修改正则表达式。
public class TestMatch {
public static void main(String[] args) {
String str1 ="0\n1什么时间?\n0\n1今天\n0\n1明天\n0\n1后天\n0\na\n";
System.out.println(str1.matches("(0\\n1\\S*\\n)*0\\n[a-zA-Z]\\n"));
}
}
程序返回:true
不过你说的规律跟你这个字符串不一样,应该是从0单一行,然后1一行后跟单词,重复若干遍后最后0一行,字母结束,最末位有回车,我是按照这个规律写的,如果不一样请提出,或者根据规律修改正则表达式。
展开全部
正则表达式匹配字符串,实际上就是判断此字符串是否按照标准来进行书写的,可以参考下以下代码:
package com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
public static boolean isboolIP(String ipAddress){
String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
/** * @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ipAddress1 = "10.";
String ipAddress2 = "0.0.0.0";
String ipAddress3 = "255.255.255.255";
String ipAddress4 = "192.168.2.1";
String ipAddress5 = "26445687";
String ipAddress6 = "nihao";
String ipAddress7 = "你好!!";
if(isboolIP(ipAddress1)){
System.out.println("IP正确");
}else{
System.out.println("IP错误");
} if(isboolIP(ipAddress2)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
} if(isboolIP(ipAddress3)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
}
if(isboolIP(ipAddress4)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
package com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
public static boolean isboolIP(String ipAddress){
String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
/** * @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ipAddress1 = "10.";
String ipAddress2 = "0.0.0.0";
String ipAddress3 = "255.255.255.255";
String ipAddress4 = "192.168.2.1";
String ipAddress5 = "26445687";
String ipAddress6 = "nihao";
String ipAddress7 = "你好!!";
if(isboolIP(ipAddress1)){
System.out.println("IP正确");
}else{
System.out.println("IP错误");
} if(isboolIP(ipAddress2)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
} if(isboolIP(ipAddress3)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
}
if(isboolIP(ipAddress4)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询