`

浅谈正则表达式

阅读更多

1、简单认识正则表达式的概念

        

print("abc".matches("..."));//true
print("a8729a".replaceAll("\\d", "-"));//a----a
Pattern p = Pattern.compile("[a-z]{3}");
Matcher m = p.matcher("fgh");
print(m.matches());//true
print("fgha".matches("[a-z]{3}"));//false

2、初步认识. * + ? {n,m}

    

print("a".matches("."));//true
print("aa".matches("aa"));//true
print("aaaa".matches("a*"));//true 0个或多个
print("aaaa".matches("a+"));//true 1个或多个
print("".matches("a*"));// true
print("aaaa".matches("a?"));//false  0个或1个
print("".matches("a?")); //true
print("a".matches("a?"));//true
print("214523145234532".matches("\\d{3,100}"));//true at least 3 but not more than 100 times
print("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//false
print("192".matches("[0-2][0-9][0-9]"));//true

 3、范围

     

print("a".matches("[abc]"));//true
print("a".matches("[^abc]"));//false
print("A".matches("[a-zA-Z]"));//true
print("A".matches("[a-z]|[A-Z]"));//true
print("A".matches("[a-z[A-Z]]"));//true
print("R".matches("[A-Z&&[RFG]]"));//true

 4、认识\s \w \d  \S \W \D

  

print(" \n\r\t".matches("\\s{4}"));//true
print(" ".matches("\\S"));//false
print("a_8".matches("\\w{3}"));//w is a word character [a-zA-Z_0-9]   true
print("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));//true
print("\\".matches("\\\\"));//true

 5、boundary and whitelines

   

print("hello sir".matches("^h.*")); //true
print("hello sir".matches(".*ir$"));//true
print("hello sir".matches("^h[a-z]{1,3}o\\b.*"));//true
print("hellosir".matches("^h[a-z]{1,3}o\\b.*"));//false
print("    \n".matches("^[\\s&&[^\\n]]*\\n$"));//true	
print("aaa 8888c".matches(".*\\d{4}.")); //true
print("aaa 8888c".matches(".*\\b\\d{4}.")); //true
print("aaa8888c".matches(".*\\d{4}."));//true
print("aaa8888c".matches(".*\\b\\d{4}."));//false

 

6、email

   

print("asdfasdfsafsf@dsdfsdf.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"));

 7、matches find lookingAt

     

attern p = Pattern.compile("\\d{3,5}");
String s = "123-34345-234-00";
Matcher m = p.matcher(s);
print(m.matches());//false
m.reset();
print(m.find());//true
print(m.start() + "-" + m.end());//0-3
print(m.find());//true
print(m.start() + "-" + m.end());//4-9
print(m.find());//true
print(m.start() + "-" + m.end());//10-13
print(m.find());//false
print(m.lookingAt());//always from beggining  true
print(m.lookingAt());true
print(m.lookingAt());true
print(m.lookingAt());true

 8、replacement

Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);//大小写不敏感
Matcher m = p.matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf");
StringBuffer buf = new StringBuffer();
int i=0;
while(m.find()) {
	i++;
	if(i%2 == 0) {
	m.appendReplacement(buf, "java");//第偶数个转换为小写
	} else {
	m.appendReplacement(buf, "JAVA");//第奇数个转换为大写
	     }
	}
m.appendTail(buf);//把最后的字符串追加上
print(buf);

 9、group

    

Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
String s = "123aa-34345bb-234cc-00";
Matcher m = p.matcher(s);
while(m.find()) {
	print(m.group());//123aa  34345bb  234cc
	}

 

分享到:
评论

相关推荐

    浅谈正则表达式在文本排版及校对中的应用

    浅谈正则表达式在文本排版及校对中的应用 可以在word等中使用

    浅谈正则表达式实例入门共9页.pdf.zip

    这篇文档“浅谈正则表达式实例入门共9页.pdf”似乎是一个初学者的教程,旨在帮助读者快速理解和应用正则表达式。 在正则表达式中,有几种基本的元字符和操作符,它们构成了各种可能的匹配模式: 1. **元字符**:如...

    浅谈正则表达式 实例入门

    本文将深入浅出地探讨JavaScript中的正则表达式及其基本用法。 首先,创建JavaScript正则表达式有两种方式:通过`new RegExp()`构造函数或者直接使用正则字面量(斜杠包围的模式)。例如: ```javascript var ...

    正则表达式(一)从初学到精通正则表达式

    本文将对正则表达式的基础知识进行详细的介绍,从什么是正则表达式开始,逐步深入浅出地讲解正则表达式的基本概念、正则表达式引擎、文字符号、特殊字符、不可显示字符、正则表达式引擎的内部工作机制等。...

    浅谈PHP+正则表达式格式

    本文将浅谈PHP中的正则表达式格式及其应用。 PHP支持多种正则表达式函数,如`ereg()`、`ereg_replace()`、`eregi_replace()`和`split()`等。这些函数均接受正则表达式作为其第一个参数,帮助开发者执行匹配、替换和...

    浅谈正则表达式(Regular Expression)

    正则表达式是一种高度灵活的字符串匹配语言,它可以用来识别和操作文本中的各种模式。它被广泛用于各种编程语言中,用以实现文本搜索、验证输入、提取信息以及替换文本中的内容等功能。正则表达式不仅仅是一个工具,...

    浅谈正则表达式中的分组和引用实现方法

    正则表达式是一种文本模式,包括普通字符(例如,字母或数字)和特殊字符(称为"元字符")。它提供了一种灵活的搜索和匹配文本字符串的方法。在正则表达式中,分组和引用是两个重要的功能,它们允许我们在文本中查找...

    利用Python正则表达式过滤敏感词的方法

    问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符。... 您可能感兴趣的文章:Python 实现王者荣耀中的敏感词过滤示例python 实现敏感词过滤的方法浅谈Python 敏感词过滤的实现

    浅谈JavaScript正则表达式分组匹配

    正则表达式是用于字符串匹配、搜索和替换的强大工具,广泛应用于各种文本处理场景。在JavaScript中,正则表达式除了能匹配单个字符以外,还支持对子表达式进行分组,以便更精确地控制匹配的范围,这在需要对文本进行...

    正则表达式浅谈

    文档讲述了正则表达式的基本语法、使用技巧,是本人通过测试的学习总结,非常适合初学者,因为我也是作为初学者来研究的

    浅谈JavaScript正则表达式-非捕获性分组

    正则表达式是一种用于匹配字符串中字符组合的模式。在JavaScript编程语言中,正则表达式是处理字符串的强大工具,它可以用来检查一个字符串是否符合某种模式(称为“正则”),或者进行字符串搜索、替换等操作。在...

    浅谈Java中正则表达式的优化方法

    ### 浅谈Java中正则表达式的优化方法 在日常的软件开发过程中,正则表达式作为一种强大的文本处理工具被广泛应用于数据验证、文本搜索与替换等场景之中。尤其是在Java语言环境中,`java.util.regex`包提供了丰富的...

    shell浅谈之四正则表达式.docx

    正则表达式(Regular Expression,简称RE)是处理文本的强大工具,它由一系列字符和元字符组成,主要用于文本查询和字符串操作。在Shell编程中,正则表达式被广泛应用于数据流处理,如数据过滤、查找和替换等任务。...

    浅谈python下含中文字符串正则表达式的编码问题

    在Python编程中,处理含有中文字符串的正则表达式时,编码问题是编程者需要面对的常见问题之一。由于Python的默认编码格式为ASCII,它无法直接处理中文字符,因为ASCII编码集中并未包含中文字符。因此,在需要处理...

    浅谈Javascript常用正则表达式应用

    在探讨Javascript中的正则表达式应用时,我们主要关注如何利用正则表达式完成模式匹配、搜索、替换等常见的字符串操作。正则表达式在Javascript中是一种强大的文本处理工具,允许开发者定义搜索模式,匹配字符串中的...

    浅谈PHP正则表达式中修饰符/i, /is, /s, /isU

    修饰符是正则表达式中的特殊代码,可以调整表达式的搜索行为。修饰符可以单独使用,也可以组合使用,以适应不同的匹配需求。下面是PHP中常用的正则表达式修饰符及其功能介绍: 1. 修饰符/i(不区分大小写): 修饰...

    浅谈php正则表达式中的非贪婪模式匹配的使用

    在正则表达式中,默认情况下,量词(如"*"、"+"和"{n}")是贪婪的,意味着它们会尽可能多地匹配字符。例如,表达式"http:(.*)com"中的"(.*)"是一个贪婪的匹配,它会尝试匹配尽可能多的字符,直到遇到"com"为止。在...

Global site tag (gtag.js) - Google Analytics