当前位置: 首页 > news >正文

网站设计案例欣赏做网站如何来钱

网站设计案例欣赏,做网站如何来钱,上海企业网站设计公司电话,做地产设计的公司java.util.regex 是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类#xff1a;Pattern 和 Matcher。 Pattern 对象是正则表达式编译后在内存中的表示形式#xff0c;因此#xff0c;正则表达式字符串必须先被编译为 Pattern 对象#xff0c;然…java.util.regex 是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类Pattern 和 Matcher。 Pattern 对象是正则表达式编译后在内存中的表示形式因此正则表达式字符串必须先被编译为 Pattern 对象然后再利用该 Pattern 对象创建对应的 Matcher 对象。执行匹配所涉及的状态保留在 Matcher 对象中多个 Matcher 对象可共享同一个 Pattern 对象。 因此典型的调用顺序如下 // 将一个字符串编译成 Pattern 对象 Pattern p Pattern.compile(a*b);// 使用 Pattern 对象创建 Matcher 对象 Matcher m p.matcher(aaaaab); boolean b m.matches(); // 返回 true上面定义的 Pattern 对象可以多次重复使用。如果某个正则表达式仅需一次使用则可直接使用 Pattern 类的静态 matches() 方法此方法自动把指定字符串编译成匿名的 Pattern 对象并执行匹配如下所示。 boolean b Pattern.matches (a*b,aaaaab); // 返回 true上面语句等效于前面的三条语句。但采用这种语句每次都需要重新编译新的 Pattern 对象不能重复利用已编译的 Pattern 对象所以效率不高。Pattern 是不可变类可供多个并发线程安全使用。 Matcher 类提供了几个常用方法如下表所示。 在 Pattern、Matcher 类的介绍中经常会看到一个 CharSequence 接口该接口代表一个字符序列其中 CharBuffer、String、StringBuffer、StringBuilder 都是它的实现类。简单地说CharSequence 代表一个各种表示形式的字符串。 通过 Matcher 类的 find() 和 group() 方法可以从目标字符串中依次取出特定子串匹配正则表达式的子串例如互联网的网络爬虫它们可以自动从网页中识别出所有的电话号码。下面程序示范了如何从大段的字符串中找出电话号码。 public class FindGroup {public static void main(String[] args) {// 使用字符串模拟从网络上得到的网页源码String str 我想找一套适合自己的JAVA教程尽快联系我13588886666 交朋友电话号码是13611125565 出售二手电脑联系方式15899903312;// 创建一个Pattern对象并用它建立一个Matcher对象// 该正则表达式只抓取13X和15X段的手机号// 实际要抓取哪些电话号码只要修改正则表达式即可Matcher m Pattern.compile(((13\\d)|(15\\d))\\d{8}).matcher(str);// 将所有符合正则表达式的子串电话号码全部输出while (m.find()) {System.out.println(m.group());}} }运行上面程序看到如下运行结果 13588886666 13611125565 15899903312从上面运行结果可以看出find() 方法依次查找字符串中与 Pattern 匹配的子串一旦找到对应的子串下次调用 find() 方法时将接着向下查找。 提示通过程序运行结果可以看出使用正则表达式可以提取网页上的电话号码也可以提取邮件地址等信息。如果程序再进一步可以从网页上提取超链接信息再根据超链接打开其他网页然后在其他网页上重复这个过程就可以实现简单的网络爬虫了。 find() 方法还可以传入一个 int 类型的参数带 int 参数的 find() 方法将从该 int 索引处向下搜索。start() 和 end() 方法主要用于确定子串在目标字符串中的位置如下程序所示。 public class StartEnd {public static void main(String[] args) {// 创建一个Pattern对象并用它建立一个Matcher对象String regStr Java is very easy!;System.out.println(目标字符串是 regStr);Matcher m Pattern.compile(\\w).matcher(regStr);while (m.find()) {System.out.println(m.group() 子串的起始位置 m.start() 其结束位置 m.end());}} }上面程序使用 find()、group() 方法逐项取出目标字符串中与指定正则表达式匹配的子串并使用 start()、end() 方法返回子串在目标字符串中的位置。运行上面程序看到如下运行结果 目标字符串是Java is very easy! Java子串的起始位置0其结束位置4 is子串的起始位置5其结束位置7 very子串的起始位置8其结束位置12 easy子串的起始位置13其结束位置17matches() 和 lookingAt() 方法有点相似只是 matches() 方法要求整个字符串和 Pattern 完全匹配时才返回 true而 lookingAt() 只要字符串以 Pattern 开头就会返回 true。reset() 方法可将现有的 Matcher 对象应用于新的字符序列。看如下例子程序。 public class MatchesTest {public static void main(String[] args) {String[] mails { kongyeeku163.com, kongyeekugmail.com, ligangcrazyit.org, wawaabc.xx };String mailRegEx \\w{3,20}\\w\\.(com|org|cn|net|gov);Pattern mailPattern Pattern.compile(mailRegEx);Matcher matcher null;for (String mail : mails) {if (matcher null) {matcher mailPattern.matcher(mail);} else {matcher.reset(mail);}String result mail (matcher.matches() ? 是 : 不是) 一个有效的邮件地址;System.out.println(result);}} }上面程序创建了一个邮件地址的 Pattern接着用这个 Pattern 与多个邮件地址进行匹配。当程序中的 Matcher 为 null 时程序调用 matcher() 方法来创建一个 Matcher 对象一旦 Matcher 对象被创建程序就调用 Matcher 的 reset() 方法将该 Matcher 应用于新的字符序列。 从某个角度来看Matcher 的 matches()、lookingAt() 和 String 类的 equals() 有点相似。区别是 String 类的 equals() 都是与字符串进行比较而 Matcher 的 matches() 和 lookingAt() 则是与正则表达式进行匹配。 事实上String 类里也提供了 matches() 方法该方法返回该字符串是否匹配指定的正则表达式。例如 kongyeeku163.com.matches(\\w{3,20}\\w\\.(com|org|cn|net|gov)); // 返回 true除此之外还可以利用正则表达式对目标字符串进行分割、查找、替换等操作看如下例子程序。 public class ReplaceTest {public static void main(String[] args) {String[] msgs { Java has regular expressions in 1.4, regular expressions now expressing in Java,Java represses oracular expressions };Pattern p Pattern.compile(re\\w*);Matcher matcher null;for (int i 0; i msgs.length; i) {if (matcher null) {matcher p.matcher(msgs[i]);} else {matcher.reset(msgs[i]);}System.out.println(matcher.replaceAll(哈哈:)));}} }上面程序使用了 Matcher 类提供的 replaceAll() 把字符串中所有与正则表达式匹配的子串替换成“哈哈:)”实际上Matcher 类还提供了一个 replaceFirst()该方法只替换第一个匹配的子串。运行上面程序会看到字符串中所有以“re”开头的单词都会被替换成“哈哈:)”。 实际上String 类中也提供了 replaceAll()、replaceFirst()、split() 等方法。下面的例子程序直接使用 String 类提供的正则表达式功能来进行替换和分割。 public class StringReg {public static void main(String[] args) {String[] msgs { Java has regular expressions in 1.4, regular expressions now expressing in Java,Java represses oracular expressions };for (String msg : msgs) {System.out.println(msg.replaceFirst(re\\w*, 哈哈:)));System.out.println(Arrays.toString(msg.split( )));}} }上面程序只使用 String 类的 replaceFirst() 和 split() 方法对目标字符串进行了一次替换和分割。运行上面程序会看到如下所示的输出结果。 Java has 哈哈:) expressions in 1.4 [Java, has, regular, expressions, in, 1.4] 哈哈:) expressions now expressing in Java [regular, expressions, now, expressing, in, Java] Java 哈哈:) oracular expressions [Java, represses, oracular, expressions]正则表达式是一个功能非常灵活的文本处理工具增加了正则表达式支持后的 Java可以不再使用 StringTokenizer 类也是一个处理字符串的工具但功能远不如正则表达式强大即可进行复杂的字符串处理。
http://wiki.neutronadmin.com/news/154859/

相关文章:

  • jsp可以做网站首页吗网络游戏陪玩
  • 南平网站设计网站开发和桌面开发哪个难
  • 2003访问网站提示输入用户名密码番禺网站建设优化推广
  • 百度上开个网站怎么做中国做网站最好的
  • 四川大学毕业设计网站小型教育网站的开发建设开题报告
  • 网站建设参考论文常用的网络营销推广方法有哪些
  • 如何维护企业电子商务网站建设响应式网站手机端尺寸
  • 学院网站建设的目的及定位东莞哪里有网站制作公司
  • 重庆企业网站建设哪家好网络营销网站建设存在问题
  • 上饶做网站最好的公司做网站的品牌公司
  • 玉林建设工程信息网站天津网络推广公司
  • 如何建网络营销网站上交所大宗交易平台
  • 做网站第一次见客户百度指数关键词未收录怎么办
  • 点击最多的网站h5模板免费
  • 泾川网站建设创意广告图片及文字解析
  • 网站建设添加音乐的代码网站主页模板图片
  • 宿迁网站建设排名wordpress创建表单
  • 负责网站开发的岗位服务好 售后好的网站建设
  • 宿迁哪里有做网站开发的网站成本案例
  • 做网站都需要准备什么软件社交网站开发
  • 建站吗官方网站html 网站添加悬浮二维码
  • 网站虚拟主机里的内容强制删除正规排名网站推广公司
  • 安徽城乡建设厅官网站wordpress网址插件
  • 学php网站开发多钱免费中文wordpress主题下载
  • 北京网站制作培训班如何用魔方网表做门户网站
  • 海南网站建设网站开发网站开发广东
  • 个人怎么建设图书网站网站开发成本预算价目表
  • 作弊网站河南企业网站排名优化价格
  • 怎么做网站平台教程网页布局类型
  • 农业大学网站建设特点做网站用哪些语言