Java正则表达式的相关使用


前言

明天软构实验可能要进一步深入讲解正则表达式,在那之前,我先对这一段时间以来对正则表达式的理解做一个总结

正则表达式的一般写法

首先是一些特殊符号:
==首先是.==单独的.可以匹配单个的任意字符。比如表达式t.o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。
==然后是[]==只有中括号里的字符才可以参与匹配,并且只能从中括号中挑选一个!比如表达式t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。
==接下来是|==相当于或,可以匹配指定的字符,凡是也只能选择其中的一项进行匹配,感觉像是高配版的中括号选择。
当然,我们也可以指定匹配的次数,具体方法如下:
在这里插入图片描述
举个例子:表达式:[0-9]{3}-[0-9]{2}-[0-9]{3}的匹配格式为:999-99-999
因为-符号在正则表达式中有特殊的含义,它表示一个范围,所以在前面加转义字符
在这里插入图片描述
==然后我们看==表示否,如果用在方括号内,表示不想匹配的字符。比如,表达式:[^x] 第一个字符不能是x。
下面是两个比较相似的符号:\S与\s\S匹配非空字符,而\s只能匹配一个空字符,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。
最后是\r换行符,与\n,\tab相似。
另外注意到\t可以用来匹配一个tab制表符的间隔。

快捷符号
1、\d表示 [0-9]
2、\D表示 [ ^0-9]
3、\w表示 [0-9A-Z_a-z]
4、\W表示 [ ^0-9A-Z_a-z]
5、\s表示 [\t\n\r\f]
6、\S表示 [ ^\t\n\r\f]
另外,如果想要打出?,.或者是*等具有特殊意义的符号,在前面加一个反斜杠转义即可。
在正则表达式中,美元符号 $用于匹配一行的结尾,比如"abc$“表示的是以abc结尾的行,”^$"表示的是空行。

总结

上述的一些方法平常使用已经足够,正好我们这个学期也学习了正则表达式的写法,Java中的正则表达式也不在话下。另外在写这一篇markdown时我发现正则表达式里使用的一些符号和markdown有一些冲突,于是正好对markdown也进行适当的复习。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript正则表达式Java正则表达式在语法上有一些差异,但是它们的基本概念和用法是相似的。下面是将JavaScript正则表达式转换为Java正则表达式的一些常见规则: 1. 语法差异: - JavaScript正则表达式使用斜杠(/)作为定界符,而Java正则表达式使用双引号(")作为定界符。 - JavaScript正则表达式中的特殊字符需要进行转义,而Java正则表达式中的特殊字符不需要转义。 2. 字符类: - JavaScript正则表达式中的字符类使用方括号([])表示,而Java正则表达式使用方括号([])或者Unicode转义(\p{...})表示。 - JavaScript正则表达式中的字符类可以使用连字符(-)表示范围,而Java正则表达式中需要使用Unicode转义(\uXXXX)表示范围。 3. 量词: - JavaScript正则表达式中的量词使用花括号({})表示,而Java正则表达式使用花括号({})或者问号(?)表示。 - JavaScript正则表达式中的贪婪量词默认是贪婪模式,而Java正则表达式中的贪婪量词需要在后面添加问号(?)来表示非贪婪模式。 4. 边界匹配: - JavaScript正则表达式中的边界匹配使用插入符号(^)和美元符号($)表示,而Java正则表达式使用\A和\Z表示。 5. 其他差异: - JavaScript正则表达式中的捕获组使用圆括号(())表示,而Java正则表达式使用圆括号(())或者方括号([])表示。 - JavaScript正则表达式中的反向引用使用反斜杠加数字(\1、\2等)表示,而Java正则表达式使用美元符号加数字($1、$2等)表示。 以上是一些常见的JavaScript正则表达式转换为Java正则表达式的规则。具体转换时,还需要根据具体的正则表达式进行适当的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值