精华内容
下载资源
问答
  • 正则表达式的查找;主要是用到String类中的split();String str;str.split();方法中传入按照什么规则截取,返回一个String数组常见的截取规则:str.split("\\.")按照.来截取str.split(" ")按照空格截取str.split("cc+")...

    正则表达式的查找;主要是用到String类中的split();

    String str;

    str.split();方法中传入按照什么规则截取,返回一个String数组

    常见的截取规则:

    str.split("\\.")按照.来截取

    str.split(" ")按照空格截取

    str.split("cc+")按照c字符来截取,2个c或以上

    str.split((1)\\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1

    截取的例子;

    按照分组截取;截取的位置在两个或两个以上的地方

    String str = "publicstaticccvoidddmain";

    //对表达式进分组重用

    String ragex1="(.)\\1+";

    String[] ss = str.split(ragex1);

    for(String st:ss){

    System.out.println(st);

    }

    //按照两个cc+来截取

    String ragex = " ";

    //切割

    String strs = "publicstaticccvoidddmain";

    String ragexs = "cc+";

    String[] s = strs.split(ragexs);

    for(String SSSS :s){

    System.out.println(SSSS);

    }

    System.out.println("=-=========");

    正则表达式中的替换;

    语法定义规则;

    String s =str.replaceAll(ragex, newstr);

    字符串中的替换是replace();

    将4个或4个以上的连续的数字替换成*

    // 替换

    String str="wei232123jin234";

    String ragex = "\\d{4,}";

    String newstr = "*";

    String s =str.replaceAll(ragex, newstr);

    System.out.println(s);

    将重复的字符串换成一个*

    String str ="wwweiei222222jjjiiinnn1232";

    String ragex ="(.)\\1+";

    String newStr ="*";

    String s = str.replaceAll(ragex, newStr);

    System.out.println(s);

    将 我...我...要..要.吃...吃...饭 换成 我要吃饭

    String str = "我...我...要..要.吃...吃...饭";

    String regex = "\\.+";

    String newStr = "";

    str=test(str, regex, newStr);

    regex = "(.)\\1+";

    newStr = "$1";

    test(str, regex, newStr);

    public static String test(String str, String regex, String newStr) {

    String str2 = str.replaceAll(regex, newStr);

    System.out.println(str2);

    return str2;

    }

    正则表达式的字符串的获取

    1,根据定义的正则表达式创建Pattern对象

    2,使用Pattern对象类匹配

    3,判断是否为true

    4,加入到组

    例子;

    String str = "public static void main(String[] args)"

    + " public static void main(String[] args)public static void main(String[] args)";

    String ragex = "\\b[a-zA-Z]{4,5}\\b";

    Pattern p =Pattern.compile(ragex);

    Matcher m = p.matcher(str);

    while(m.find()){

    String s = m.group();

    System.out.println(s);

    }

    作业:

    1,获取user中的user

    String str ="user";

    String regex = "|";

    String newStr = "";

    String str2 = str.replaceAll(regex, newStr);

    System.out.println(str2);

    2,获取dhfjksaduirfn 11@qq.com dsjhkfa wang@163.com wokaz中的邮箱号码

    String regex = " ";

    String[] strs=str.split(regex);

    for(String str2:strs){

    String ragexDemo = "[a-zA-Z0-9]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*"

    + "@([a-zA-Z0-9]+)\\.[a-zA-Z]+\\.?[a-zA-Z]{0,2}";

    Pattern p = Pattern.compile(ragexDemo);

    Matcher m = p.matcher(str2);

    while(m.find()){

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

    }

    }

    展开全文
  • 正则表达式的查找;主要是用到String类中的split();  String str;  str.split();方法中传入按照什么规则截取,返回一个String数组   常见的截取规则: str.split("\\.")按照.来截取 str.split(&...

    正则表达式的查找;主要是用到String类中的split();

          String str;

         str.split();方法中传入按照什么规则截取,返回一个String数组

     

    常见的截取规则:

    str.split("\\.")按照.来截取
    
    str.split(" ")按照空格截取
    
    str.split("cc+")按照c字符来截取,2个c或以上
    
    str.split((1)\\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1
    

     

     

    截取的例子;

     

     按照分组截取;截取的位置在两个或两个以上的地方

              		  String str = "publicstaticccvoidddmain"; 
    		  //对表达式进分组重用 
    		  String ragex1="(.)\\1+"; 
    		  String[] ss = str.split(ragex1);
    		  for(String st:ss){
    		  System.out.println(st); 
    		  }

     

    //按照两个cc+来截取

       String ragex = " "; 
    		//切割 
    		 String strs = "publicstaticccvoidddmain"; 
    		String ragexs = "cc+";
    		String[] s = strs.split(ragexs);
    		for(String SSSS :s){
    		System.out.println(SSSS);
    		}
    		System.out.println("=-=========");
    

     

     

     

    正则表达式中的替换;

    语法定义规则;

      String s =str.replaceAll(ragex, newstr);

     字符串中的替换是replace();

    将4个或4个以上的连续的数字替换成*

    	// 替换
    		 String str="wei232123jin234";
    		 String ragex = "\\d{4,}";
    		 String newstr = "*";
    		 String s =str.replaceAll(ragex, newstr);
    		 System.out.println(s);

     

    将重复的字符串换成一个*

    		 String str ="wwweiei222222jjjiiinnn1232";
    		 String ragex ="(.)\\1+";
    		 String newStr ="*";
    		 String s = str.replaceAll(ragex, newStr);
    		 System.out.println(s);

     

     

    将 我...我...要..要.吃...吃...饭 换成 我要吃饭

     

    	String str = "我...我...要..要.吃...吃...饭";
    		String regex = "\\.+";
    		String newStr = "";
    		str=test(str, regex, newStr);
    
    		regex = "(.)\\1+";
    		newStr = "$1";
    		test(str, regex, newStr);
    
    public static String test(String str, String regex, String newStr) {
    		String str2 = str.replaceAll(regex, newStr);
    		System.out.println(str2);
    		return str2;
    	}

     

    正则表达式的字符串的获取

    1,根据定义的正则表达式创建Pattern对象

    2,使用Pattern对象类匹配

    3,判断是否为true

    4,加入到组

     

    例子;

    	String str = "public static void main(String[] args)"
    				+ " public static void main(String[] args)public static void main(String[] args)";
             String ragex = "\\b[a-zA-Z]{4,5}\\b";
             Pattern p  =Pattern.compile(ragex);
             Matcher m =  p.matcher(str);
           while(m.find()){
        	  String s =  m.group();
        	  System.out.println(s);
           }

     

     

     

    作业:

    1,获取<html>user</user>中的user

     String str ="<html>user</html>";
    String regex = "<html>|</html>"; 
     String newStr = ""; 
    String str2 = str.replaceAll(regex, newStr);
    System.out.println(str2);

     

    2,获取dhfjksaduirfn 11@qq.com dsjhkfa wang@163.com wokaz中的邮箱号码

     String regex = " "; 
    String[] strs=str.split(regex);
     for(String str2:strs){
      String ragexDemo = "[a-zA-Z0-9]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*"
    	+ "@([a-zA-Z0-9]+)\\.[a-zA-Z]+\\.?[a-zA-Z]{0,2}";
    Pattern p =  Pattern.compile(ragexDemo);
    Matcher m = p.matcher(str2);
    while(m.find()){
    System.out.println(m.group());
       }
     }

     

     

    展开全文
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    Java正则表达式入门 众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时 又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则...
  • ^a 以a 为开头[^a] 非aapple(|\t+)pear 中间出现一次以上空格,制表符或者两者混合的字符串apple(+|\t+)pear 中间的分隔符全是空格或者全部制表符(apple|pear)[a|b][ab] 只匹配字符集中列出的任何一个[^def] 匹配...

    ^a             以a 为开头

    [^a]          非a

    apple(|\t+)pear  中间出现一次以上空格,制表符或者两者混合的字符串

    apple(+|\t+)pear 中间的分隔符全是空格或者全部制表符

    (apple|pear)

    [a|b]

    [ab]                     只匹配字符集中列出的任何一个

    [^def]                  匹配这三个字符以为的任何字符

    [a-z]         匹配a-z 直接的任何字符

    [^n-z]       匹配n,-,z 以外的任何字符

    /apple|pear/         择一匹配

    $_="aa11bb";

    /(.)\111/      perl会匹配 \111

    /(.)g{1}11/         g{1} =\1

    \s        匹配任意空白字符

    \R         匹配断行的字符,包括dos,unix 下的 \r\n, \n

    \w        单词字符,= [a-zA-Z0-9_]

    反义简写

    \D        =[^\d]

    \W         =[^\w]

    \S        =[^\s]

    /[0-9a-fA-F]/    匹配十六进制数

    .          匹配任意一个字符,(除了换行符\n)

    [\d\D]      表示任何数字或非数字,即匹配任意字符,包括换行符

    [^\d\D]     匹配既不是数字也不是非数字的字符,即什么都不匹配

    用正则表达式匹配

    /fred/           以双斜线为定界符,可以省略开头的m

    m%^https://%      不可以省略m

    if(/yes/i)         /i 忽略大小写

    $_="I have an apple\n and a pear\n ";

    if(/apple.*pear/s)   /s 匹配任意字符。.无法匹配换行符,如果字符串中有换行符,希望能匹配到这些换行符,就用/s,他会将模式中的每个点号装换成[\d\D]来处理。

    [^\n]          同[\N],匹配任意字符

    / -? [0-9]  /x       同/-?[0-9]]/ , \x 允许加入空白符

    m{\Ahttps?://}i      \A, 词首锚定

    m{\.png\z}i      \z 绝对词尾锚定,, \Z行尾锚定,允许后面出现换行符

    print  /\.png\Z/;

    print  "$_\n" if /\.png\z/;

    /\A\s*\Z/         匹配空白行

    /\bfred\b/       \b 只匹配每组\w字符的开头或者结尾,可匹配fred

    /\bsearch\B/      匹配searches,searching,但不能匹配search, researching. \B 匹配所有\b不能匹配的位置

    $string = "i:love:perl";

    $string =~ s/:/*/; #此时 $string="i*love:perl";

    $string = "i:love:perl";

    $string =~ s/:/*/g; #此时 $string="i*love*perl";

    $string =~ tr/*/ /; #此时 $string="i love perl";

    $string = "www22cgi44";

    $string =~ s/(\d+)/$1*2/e; # (/d+)代表 $string 中的一个或多个数字字符,将这些数字字符执行 *2 的操作,因此最后 $string 变成了 "www44cgi88"。

    展开全文
  • 正则表达式的查找;主要是用到String类中的split();String str;str.split();方法中传入按照什么规则截取,返回一个String数组常见的截取规则:str.split("\\.")按照.来截取str.split(" ")按照空格截取str.split("cc+")...

    正则表达式的查找;主要是用到String类中的split();

    String str;

    str.split();方法中传入按照什么规则截取,返回一个String数组

    常见的截取规则:

    str.split("\\.")按照.来截取

    str.split(" ")按照空格截取

    str.split("cc+")按照c字符来截取,2个c或以上

    str.split((1)\\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1

    截取的例子;

    按照分组截取;截取的位置在两个或两个以上的地方

    String str = "publicstaticccvoidddmain";

    //对表达式进分组重用

    String ragex1="(.)\\1+";

    String[] ss = str.split(ragex1);

    for(String st:ss){

    System.out.println(st);

    }

    //按照两个cc+来截取

    String ragex = " ";

    //切割

    String strs = "publicstaticccvoidddmain";

    String ragexs = "cc+";

    String[] s = strs.split(ragexs);

    for(String SSSS :s){

    System.out.println(SSSS);

    }

    System.out.println("=-=========");

    正则表达式中的替换;

    语法定义规则;

    String s =str.replaceAll(ragex, newstr);

    字符串中的替换是replace();

    将4个或4个以上的连续的数字替换成*

    // 替换

    String str="wei232123jin234";

    String ragex = "\\d{4,}";

    String newstr = "*";

    String s =str.replaceAll(ragex, newstr);

    System.out.println(s);

    将重复的字符串换成一个*

    String str ="wwweiei222222jjjiiinnn1232";

    String ragex ="(.)\\1+";

    String newStr ="*";

    String s = str.replaceAll(ragex, newStr);

    System.out.println(s);

    将 我...我...要..要.吃...吃...饭 换成 我要吃饭

    String str = "我...我...要..要.吃...吃...饭";

    String regex = "\\.+";

    String newStr = "";

    str=test(str, regex, newStr);

    regex = "(.)\\1+";

    newStr = "$1";

    test(str, regex, newStr);

    public static String test(String str, String regex, String newStr) {

    String str2 = str.replaceAll(regex, newStr);

    System.out.println(str2);

    return str2;

    }

    正则表达式的字符串的获取

    1,根据定义的正则表达式创建Pattern对象

    2,使用Pattern对象类匹配

    3,判断是否为true

    4,加入到组

    例子;

    String str = "public static void main(String[] args)"

    + " public static void main(String[] args)public static void main(String[] args)";

    String ragex = "\\b[a-zA-Z]{4,5}\\b";

    Pattern p =Pattern.compile(ragex);

    Matcher m = p.matcher(str);

    while(m.find()){

    String s = m.group();

    System.out.println(s);

    }

    作业:

    1,获取user中的user

    String str ="user";

    String regex = "|";

    String newStr = "";

    String str2 = str.replaceAll(regex, newStr);

    System.out.println(str2);

    2,获取dhfjksaduirfn11@qq.comdsjhkfawang@163.comwokaz中的邮箱号码

    String regex = " ";

    String[] strs=str.split(regex);

    for(String str2:strs){

    String ragexDemo = "[a-zA-Z0-9]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*"

    + "@([a-zA-Z0-9]+)\\.[a-zA-Z]+\\.?[a-zA-Z]{0,2}";

    Pattern p = Pattern.compile(ragexDemo);

    Matcher m = p.matcher(str2);

    while(m.find()){

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

    }

    }

    示例代码:

    import java.util.ArrayList;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    public class test {

    public static void main(String[] args) {

    getStrings(); //用正则表达式获取指定字符串内容中的指定内容

    System.out.println("********************");

    replace(); //用正则表达式替换字符串内容

    System.out.println("********************");

    strSplit(); //使用正则表达式切割字符串

    System.out.println("********************");

    strMatch(); //字符串匹配

    }

    private static void strMatch() {

    String phone = "13539770000";

    //检查phone是否是合格的手机号(标准:1开头,第二位为3,5,8,后9位为任意数字)

    System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true

    String str = "abcd12345efghijklmn";

    //检查str中间是否包含12345

    System.out.println(str + ":" + str.matches("\\w+12345\\w+")); //true

    System.out.println(str + ":" + str.matches("\\w+123456\\w+")); //false

    }

    private static void strSplit() {

    String str = "asfasf.sdfsaf.sdfsdfas.asdfasfdasfd.wrqwrwqer.asfsafasf.safgfdgdsg";

    String[] strs = str.split("\\.");

    for (String s : strs){

    System.out.println(s);

    }

    }

    private static void getStrings() {

    String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf";

    Pattern p = Pattern.compile("qq(.*?)qq");

    Matcher m = p.matcher(str);

    ArrayList strs = new ArrayList();

    while (m.find()) {

    strs.add(m.group(1));

    }

    for (String s : strs){

    System.out.println(s);

    }

    }

    private static void replace() {

    String str = "asfas5fsaf5s4fs6af.sdaf.asf.wqre.qwr.fdsf.asf.asf.asf";

    //将字符串中的.替换成_,因为.是特殊字符,所以要用\.表达,又因为\是特殊字符,所以要用\\.来表达.

    str = str.replaceAll("\\.", "_");

    System.out.println(str);

    }

    }

    展开全文
  • 正则表达式

    2011-12-16 22:25:09
    它简单而且实用,是一个用于匹配字符串的模板,我们定义的任意的一个字符串都可以看成是一个正则表达式。 2、 String类也提供了几个和正则表达式有关的几个特殊方法 1) Boolean matches(String regex):判断该字符...
  • 正则表达式的查找;主要是用到String类中的split();String str;str.split();方法中传入按照什么规则截取,返回一个String数组常见的截取规则:str.split("\\.")按照.来截取str.split(" ")按照空格截取str.split("cc+")...
  • 正则表达式的查找;主要是用到String类中的split(); String str; str.split();方法中传入按照什么规则截取,返回一个String数组 常见的截取规则: str.split(“\\.”)按照.来截取 str.split(” “)按照空格截取 str....
  • 知识补充 String的split方法支持正则表达式正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 有了以上补充知识,下面的内容就很好理解了。 一、待分割字符串 待分割字符串为
  • java 字符串 空格分割

    2017-02-17 12:43:00
    JAVA 一个或多个空格分割字符串 知识补充 String的split方法支持正则表达式正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 有了以上补充知识,下面的内容就很好理解了。 一、待分割...
  • 空格分割Java String类型的方法

    千次阅读 2017-09-18 22:56:13
    JAVA 一个或多个空格分割字符串知识补充String的split方法支持正则表达式正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。有了以上补充知识,下面的内容就很好理解了。一、待分割字符串待分割字符串为...
  • JAVA 一个或多个空格分割字符串 知识补充 String的split方法支持正则表达式正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 有了以上补充知识,下面的内容就很好理解了。 一、待分割字符串...
  • java之split用法注意

    2017-10-12 14:58:49
    JAVA 一个或多个空格分割字符串 知识补充 String的split方法支持正则表达式正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 有了以上补充知识,下面的内容就很好理解了。 一、待分割...
  • Java分割字符串

    2017-11-28 11:36:42
    正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 有了以上补充知识,下面的内容就很好理解了。 一、待分割字符串 待分割字符串为如下: String str = "a b c d e f g" 其中,字符串中的的...
  • 在处理空格上,为了避免对空格多重过滤,依然使用正则表达式将2个或者两个以上空格匹配成一个空格。这样后在词法分析过程中,逻辑的处理变得更简单。 对注释的处理方法: public static String omitComment...
  • 如果字符之间有两个以上空格程序是怎么处理的? 2、for(int i=0;i;i++)str1[i]=String.valueOf((char)(str1[i].charAt(0)+('A'-'a')))+str1[i].substring(1);这段代码什么意思? 3、fin+=m.group(1);是什么意思?
  • javascript里的test()函数

    2012-08-14 16:27:25
    要求:匹配一个“以 '数字+空格' 开头,后缀任意多个字符”的字符串 实现: [code="js"] var str = "just 2 as I thought"; var rst = /\d .*/.test(str ); [/code] 以上代码测试结果rst=true.但是从要求上来...
  • 括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将...
  • Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅...
  • 63、正则表达式相关 64、资源操作相关 65、四舍五入相关 66、SD卡相关 67、服务相关 68、Shell相关 69、短信相关 70、Snackbar相关 71、SharedPreferences相关 72、状态栏背景色 73、状态栏字体颜色模式 74、字符串...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

java正则表达式匹配一个以上空格

java 订阅