当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。
通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。
不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0。
一旦你定义了自己的构造方法,默认构造方法就会失效。
使用正则表达式查找字符串中数字出现的位置:
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PrimitiveTypeTest { //查找数字,返回位置 private static final String regex ="\\d+"; private static final String input ="0 cat catt catre cat cat 9"; public static void main(String[] Args) { Pattern p =Pattern.compile(regex); Matcher q =p.matcher(input); int count=0; while(q.find()) { count++; System.out.println("match number"+count); System.out.println("start()"+q.start()); System.out.println("end()"+q.end()); } } }
matcher.appendReplacement(sb, replaceContent); 与 matcher.appendTail(sb);
两个方法一起使用就可以达到所有替换或者替换第一个:
所有替换:
while(m.find()){ m.appendReplacement(sb,replaceContext); } .appendTail(sb);
替换第一个:
if (matcher.find()){ matcher.appendReplacement(sb, replaceContext); } matcher.appendTail(sb);
关于小括号分组,之前看马士兵视频的时候学到的,数左小括号"(",第几个就是第几组,可以将前面指定括号的规则在后面复用:
//小括号分组:数左边的小括号第几个就是第几组 Pattern p = Pattern.compile("(\\d{2})([a-z]{2,3})"); Matcher m =p.matcher("33aa-32sdy-29ssc"); while(m.find()) { System.out.println(m.group(2));//每次匹配获取第二组内容 } /* 结果: aa sdy ssc */ //向前引用: Pattern p = Pattern.compile("(\\d(\\d))\\2"); Matcher matcher = p.matcher("211"); System.out.println(matcher.matches()); //结果:true //解释:"\\2"代表引用前面的第2组匹配的值
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
正则表达式的特点是:
注意:正则表达式写好后,没有错对之分,返回结果只是true和false
校验QQ号,要求:必须是5~15位数字,0不能开头。没有正则表达式之前
public class regex { public static void main(String[] args) { checkQQ("0123134"); } public static void checkQQ(String qq) { int len = qq.length(); if(len>=5 && len <=15) { if(!qq.startsWith("0")) { try { long l = Long.parseLong(qq); System.out.println("qq:"+l); } catch (NumberFormatException e) { System.out.println("出现非法字符"); } } else System.out.println("不可以0开头"); } else System.out.println("QQ号长度错误"); } }
使用正则表达式之后的代码:
public class regex { public static void main(String[] args) { checkQQ2("0123134"); } public static void checkQQ2(String qq) { String reg = "[1-9][0-9]{4,14}"; System.out.println(qq.matches(reg)?"合法qq":"非法qq"); } }
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1356Java 方法
当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。
通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。
不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0。
一旦你定义了自己的构造方法,默认构造方法就会失效。
1355Java 正则表达式
使用正则表达式查找字符串中数字出现的位置:
1354Java 正则表达式
matcher.appendReplacement(sb, replaceContent); 与 matcher.appendTail(sb);
两个方法一起使用就可以达到所有替换或者替换第一个:
所有替换:
替换第一个:
1353Java 正则表达式
关于小括号分组,之前看马士兵视频的时候学到的,数左小括号"(",第几个就是第几组,可以将前面指定括号的规则在后面复用:
1352Java 正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
正则表达式的特点是:
注意:正则表达式写好后,没有错对之分,返回结果只是true和false
校验QQ号,要求:必须是5~15位数字,0不能开头。没有正则表达式之前
使用正则表达式之后的代码: