java正则表达式使用示例_java

复制代码 代码如下:

package com.hongyuan.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest {
 public static void main(String[] args) {
  String str="<html><head><title>regex test</title></head><body><p>this is a simle regex test</p></body></html>";

  //拆分字符串
  String[] splitStr=Pattern.compile("[</?|>]").split(str);
  for(int i=0;i<splitStr.length;i++){
   System.out.print(splitStr[i]+" ");
  }
  System.out.println();

  //判断字符串是否与制定模式匹配
  boolean isMatching = Pattern.compile("^<(\\w*)>.*</\\1>$").matcher(str).matches();
  System.out.println(isMatching);

  //替换字符串
  String repStr=Pattern.compile("<(/?)p>").matcher(str).replaceAll("<$1h1>");
  System.out.println(repStr);

  //提取字符串
  Matcher m = Pattern.compile("<title>(.*)</title>").matcher(str);
  while(m.find()){
   System.out.println(m.group(1));
  }  
 }
}

时间: 2024-11-02 23:23:31

java正则表达式使用示例_java的相关文章

java正则表达式简单应用_java

一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+ 将网页内容分割提取 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.rege

整理很详细的Java正则表达式使用大全_java

本文的全部内容都是针对Java正则表达式语法进行整理的,分享给大家: [正则表达式]文本框输入内容控制整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n}$". 只能输入至少n位的数字:"^\d{n,}$". 只能输入m~n位的数字:."^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"

Java 正则表达式详细介绍_java

 众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段.  大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.   自从jdk

java方法重载示例_java

什么是方法的重载? 方法重载是以统一的方式处理不同数据类型的一种手段. 怎样构成方法的重载? 方法名相同, 形参不同.而形参的不同又表示在:  1). 形参的个数不同  2). 形参的类型不同 3). 形参的顺序不同 注意事项 1. 如果两个方法的返回值不同, 而其他都相同. 这个时候并不构成方法的重载. 在编译的时候会报错: 示例代码(错误):Test.java 复制代码 代码如下: /*返回值的不同并不能构成方法的重载*/public class Test {    public stati

java直接插入排序示例_java

影响排序效率的一般从3个方面比较:数据比较的次数,数据移动的次数,内存空间占用的大小.我们就冒泡排序.选择排序.插入排序.快速排序做一个总的比较.一般情况下不会使用冒泡排序算法,因为它的比较次数和移动次数在几种排序算法中都是最多的,它的唯一好处是算法简单,易于理解,所以在数据量很小的时候它会有些应用价值.选择排序在比较次数上和冒泡排序一样,都是n的平方,但它把交换的次数降低到了最低,所以在数据量很小且交换数据相对于比较数据更加耗时的情况下,可以应用选择排序.在大多数情况下,当数据量比较小或基本上

2个java希尔排序示例_java

java希尔排序 希尔排序是插入排序的一种类型,也可以用一个形象的叫法缩小增量法.基本思想就是把一个数组分为好几个数组,有点像分治法,不过这里的划分是用一个常量d来控制. 这个0<d<n,n为数组的长度.这个算法有了插入排序的速度,也可以算是一个改进算法,在插入算法中,如果有一个最小的数在数组的最后面,用插入算法就会重最后一个 位置移动到第一个,这样就会浪费很大,使用这个改进的希尔排序可以实现数据元素的大跨度的移动.也就是这个算法的优越之处. 复制代码 代码如下: package cn.cqu

Java 正则表达式 解释说明_java

表达式意义: 1.字符 x 字符 x.例如a表示字符a \\ 反斜线字符.在书写时要写为\\\\.(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次) \0n 带有八进制值 0的字符 n (0 <= n <= 7) \0nn 带有八进制值 0的字符 nn (0 <= n <= 7) \0mnn 带有八进制值 0的字符 mnn(0 <= m <= 3.0

使用java执行定时任务示例_java

下面是个简单的例子,利用java实现距离run后一个小时后执行任务! 复制代码 代码如下: Timer timer = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() { System.out.println("待执行的任务..."); }};timer.schedule(task, 60*60*1000);

java打印正弦曲线示例_java

复制代码 代码如下: /* * 绘制0°到360°的正弦曲线 * 分两种情形,y>0和y<=0进行绘制 * 每种情形中要考虑每行打印两个"*"字符 * 并在打印第二个"*"字符后换行 */package hundred;import java.lang.Math;public class SinTest {    public static void main(String[] args){     //y为列方向,值从1到-1,步长为0.1     f