java转义字符包括元字符_JAVA语言正则表达式的元字符、定位符、限定修饰符、中文字符的匹配讲解...

本文主要向大家介绍了JAVA语言正则表达式的元字符、定位符、限定修饰符、中文字符的匹配讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

Java正则表达式

详细了解可以参考java.util.regex包下面的相关的类。

正则表达式(regular expression)定义了字符串的模式。

正则表达式可以用来搜索、编辑或处理文本。

正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

正则表达式实例

一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 “Hello World” 字符串。

.(点号)也是一个正则表达式,它匹配任何一个字符如:”a” 或 “1”。

元字符

正则表达式是含有一些具有特殊意义的字符串,这些特殊字符串称为正则表达式的元字符。例如, “\d”,表示数字0~9中的任何一个,“\d”就是元字符。

提示:。对java的解释器来说,在反斜线字符( \ )前的字符有特殊的含义。在java中,与regex有关的包,并不都能理解和识别反斜线字符( \ ),尽管可以试试看。但为避免这一点,即为了让反斜线字符( \ )在模式对象中被完全地传递,应该用双反斜线字符( \ )。

常用元字符表

元字符意义.(点)表示除了换行符之外任意一个字符

\s空白字符(空格键、tab、换行、回车)

\S非空格字符([^\s])

\d任意一个数字,相当于[0-9])

\D一个非数字的字符,(相当于[^0-9])

\w代表可用作标识符的字符,但不包括“$”

\W代表不可用于标识符的字符

定位符

符号意义^一行的开始

$一行的结尾

\b一个单词的边界

\B一个非单词的边界

说明:在正则表达式中点号“.”代表任何一个字符,因此在正则表达式中如果想使用普通意义的点字符”.”,必须使用转义字符”\”(双写)。同样,圆括号在正则表达式中需要区别对待,如果想使用普通意义的的圆括号(即被用来判断的字符串中包含圆括号),则需要在圆括号(两个都需要)前加双反斜杆。连接符号“-“也有着特殊的意义,它表示一个范围,表示普通意义时也要使用转义字符

在正则表达式中可以使用方括号括起来若干个字符来表示一个元字符,该元字符代表括号中的任何一个字符。例如,reg=”[abc]4”,这样字符串a4,b4,c4都是和正则表达式匹配的字符串。方括号元字符还可以为其他格式。如:

[^456]:代表4、5、6之外的任何字符 [a-r]:代表a~r中的任何一个字母 [a-zA-Z]:可代表任意一个英文字母。 [a-e[g-z]]:代表a~e,或g~z中的任何一个字母(并运算) [a-o&&[def]]:代表字母d、e、f(交运算) [a-d&&[^bc]]:代表字母a、d(差运算)

限定修饰符

在正则表达式中允许使用限定修饰符来限定元字符出现的次数。如,”A*”代表A可在字符串中出现0次或多次。用法如下(理解这里重复的含义,是连续的):限定修饰符意义示例0次或1次A

*重复0次或多次A*

+重复1次或多次A+

{n}重复出现正好n次A{2}

{n,}至少重复出现n次A{3,}

{n,m}重复出现n~m次A{2,6}

中文字符的匹配

正则表达式支持Unicode码,汉字范围可使用Unicode来表示

[\u4E00-\u9FA5]:汉字

[\uFE30-\uFFA0]:全角字符

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

中文字符的匹配例子

String regex="[\\u4E00-\\u9FA5]+.*";  //以中文汉字开头

String str="你好,World";

str.matches(regex);

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值