java 正则 开始_正则表达式-Java实现-^开始位置、&结束位置、(?m)

import java.util.regex.Pattern;

import java.util.regex.Matcher;

/*

字符串的边界匹配用的方法就是查找字符串是不是按照规定的模式开始和结束

^ 匹配字符串的开头位置,^\s* 表示字符串以零个或多个空白开头

$ 匹配字符串的结束位置

*/

public class StrBoundaryMatch{

public static void main(String[] args){

String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +

" " +

"xmlns:impl=\"http://tips.cf\" xmlns=\"http://tips.cf\""+

"xmlns:apachesoap=\"http://xml.apache.org/xml-soap\"";

//匹配 <?xml> 标签的正确性

//

Pattern p = Pattern.compile("");

Matcher m = p.matcher(str); //

System.out.println(p.pattern());

while (m.find()){

System.out.println(m.group());

}

//<?xml version="1.0" encoding="UTF-8" ?>

System.out.println();

String str2 = "This is bad, real bad!" +

"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +

" " +

"xmlns:impl=\"http://tips.cf\" xmlns=\"http://tips.cf\""+

"xmlns:apachesoap=\"http://xml.apache.org/xml-soap\"";

//这段作为 .xml 文件内容时候是有问题的,"This is bad, real bad!" 应该作为注释

//此时进行模式匹配的时候,希望做到的是,xml 文件以 <?xml ?> 开头,其他开头的都是错误的

// ^\s*

p = Pattern.compile("^\\s*");

m = p.matcher(str2);

System.out.println(m.find()); //false

//此时对 str 进行模式匹配

m = p.matcher(str);

while (m.find()){ //true

System.out.println(m.group());

}

//<?xml version="1.0" encoding="UTF-8" ?>

//已经匹配到了合法的内容

System.out.println();

//一个 xml 文件的结尾一定是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值