黑马程序员 java学习笔记--正则表达式

---------------------- android培训java培训、期待与您交流! ----------------------
package cn.oyb.ce;
import java.util.regex.*;

public class Test2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Pattern pattern = Pattern.compile("\\d{4}\\-\\d+");
                String s = "0733-4706030";
		Matcher matcher = pattern.matcher(s);
		if (matcher.find())	//find()方法,就像你所想象的,用来搜索与正则表达式相匹配的任何目标字符串,
		{
			System.out.println(matcher.group());	//group()方法,用来返回包含了所匹配文本的字符串
			System.out.println(matcher.start());
		}
	}
}

(1)、Matcher方法

public int groupCount( )返回matcher对象中的group的数目。不包括group0。

public String group( ) 返回上次匹配操作(比方说find( ))的group 0(整个匹配)

public String group(int i)返回上次匹配操作的某个group。如果匹配成功,但是没能找到group,则返回null。

public int start(int group)返回上次匹配所找到的,group的开始位置。

public int end(int group)返回上次匹配所找到的,group的结束位置,最后一个字符的下标加一。

(2)、split()  分割,

                String str = "asd.sds.sda.sssw";
String [] ss = str.split("\\.");
for(int i=0;i<ss.length;i++)
{
System.out.println(ss[i]);
}

(3)、replace(replaceAll) 替换

正则表达式在替换文本方面特别在行。下面就是一些方法:

replaceFirst(String replacement)将字符串里,第一个与模式相匹配的子串替换成replacement

replaceAll(String replacement),将输入字符串里所有与模式相匹配的子串全部替换成replacement

appendReplacement(StringBuffer sbuf, String replacement)sbuf进行逐次替换,而不是像replaceFirst( )replaceAll( )那样,只替换第一个或全部子串。这是个非常重要的方法,因为它可以调用方法来生成replacement(replaceFirst( )replaceAll( )只允许用固定的字符串来充当replacement)。有了这个方法,你就可以编程区分group,从而实现更强大的替换功能。

String str = "asd.sds.sda.sssw";
String tostrF = str.replaceFirst("\\.", "@");
String tostr = str.replace("a", "M");
String tostrA = str.replaceAll("\\.", "@");
System.out.println(tostrF);
System.out.println(tostr);
System.out.println(tostrA);

----------------------------------------------------------------------

javascript中验证用户名不能以数字开头和只能是数字、字母、下划线组成

// JS代码

function onsub(){
var username = document.getElementById("username").value;
var pp = username.match("\\w+");
if(pp==null)
{
alert("用户名必须是数字或字母下划线组成!");
return false;
}
var pp2 = username.match("\\d");
if(pp2!=null)
{
alert("用户名不能以数字开头!");
return false;
}
}

//<form>表单

<form action="" method="post" οnsubmit="return onsub();">

用户名:<input type="text" id="username" name="username" value="在这里输入">

</form>

---------------------- android培训java培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值