java 风格的正则表达式 vs Perl风格的正则表达式

简介:

java风格的正则表达式

1^\d+$  //匹配非负整数(正整数 + 0

2^[0-9]*[1-9][0-9]*$  //匹配正整数

3^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0

4^-[0-9]*[1-9][0-9]*$  //匹配负整数

5^-?\d+$    //匹配整数

6^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0

7^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数

8^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0

9^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数

10^(-?\d+)(\.\d+)?$  //匹配浮点数

11^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

12^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

13^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

14^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

15^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

16^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址

17^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url

18。匹配中文字符的正则表达式: [\u4e00-\u9fa5]

19。匹配双字节字符(包括汉字在内)[^\x00-\xff]

20应用:计算字符串的长度(一个双字节字符长度计2ASCII字符1

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

21。匹配空行的正则表达式:\n[\s| ]*\r

22。匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

23。匹配首尾空格的正则表达式:(^\s*)|(\s*$)

Perl 风格的正则表达式:

  匹配:m/<regexp>;/ 可以 /<regexp>;/ ,略去 m

  s/<pattern>;/<replacement>;/

  化:tr/<pattern>;/<replacemnt>;/





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/840232,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
213 1
|
存储 缓存 安全
HashMap VS TreeMap:谁才是Java Map界的王者?
HashMap VS TreeMap:谁才是Java Map界的王者?
550 2
|
数据采集 缓存 Java
Python vs Java:爬虫任务中的效率比较
Python vs Java:爬虫任务中的效率比较
|
9月前
|
Java API 数据安全/隐私保护
探索Java动态代理的奥秘:JDK vs CGLIB
动态代理是一种在 运行时动态生成代理类的技术,无需手动编写代理类代码。它通过拦截目标方法的调用,实现对核心逻辑的 无侵入式增强(如日志、事务、权限控制等)。
300 0
探索Java动态代理的奥秘:JDK vs CGLIB
|
11月前
|
存储 缓存 Oracle
Java线程池,白话文vs八股文,原来是这么回事!
本文介绍了Java线程池的原理、实现方式及相关参数。首先,通过类比公司员工的方式解释了线程池的核心概念,如核心线程、最大线程数、任务队列和拒绝策略。接着,详细描述了线程池的任务处理流程,并提供了使用`ThreadPoolExecutor`和`Executors`创建线程池的代码示例,强调了`ThreadPoolExecutor`的灵活性和`Executors`的局限性。最后,总结了线程池的相关参数及不同类型的线程池实现,并附带常见面试题及其解答,帮助读者全面理解线程池的应用场景和优化方法。
156 4
|
11月前
|
监控 Java Python
Java 中的正则表达式
正则表达式是Java中强大的文本处理工具,支持灵活的匹配、搜索、替换和验证功能。本文介绍了正则表达式的语法基础及其在Java中的应用,包括字符串匹配、替换、分割及实际场景中的邮箱验证和电话号码提取等示例。通过这些技术,可以显著提高文本处理的效率和准确性。
615 8
|
移动开发 Java Windows
Java 匹配\r 和 \n 的正则表达式如何编写
【10月更文挑战第19天】Java 匹配\r 和 \n 的正则表达式如何编写
791 3
|
安全 Java 程序员
Java集合之战:ArrayList vs LinkedList,谁才是你的最佳选择?
本文介绍了 Java 中常用的两个集合类 ArrayList 和 LinkedList,分析了它们的底层实现、特点及适用场景。ArrayList 基于数组,适合频繁查询;LinkedList 基于链表,适合频繁增删。文章还讨论了如何实现线程安全,推荐使用 CopyOnWriteArrayList 来提升性能。希望帮助读者选择合适的数据结构,写出更高效的代码。
724 3
|
Java C++ 开发者
if-else VS switch:谁才是Java条件判断的王者?
if-else VS switch:谁才是Java条件判断的王者?
177 3