Java:正则表达式

正则表达式

正则表达式(Regular Expression、regex),及描述某种规则的表达式。通常被用来检索、替换符合某个模式(规则)的文本
很多编程语言支持正则表达式,Java只是其中一种


正则表达式的基本元素
字符含义描述
.(点)一个字符的通配符能和回车符外的任何字符匹配匹配除“\n”和"\r"之外的任何单个字符。要匹配包括“\n”和"\r"在内的任何字符,请使用像“[\s\S]”的模式
[ ]字符集能和括号中描述的范围内任何一个字符匹配,‘-’连接范围的起止,闭区间
[ ^ ]排斥性字符集与上一项相反
^起始位置定位到一行的起始处并向后匹配
$结束位置定位到一行的结尾处并向前匹配
\b单词边界匹配[a-zA-Z_0-9]中的字符,及英文大小写字母与阿拉伯数字
\B非单词边界[ ^\b ]
\s空白符相当于[ \t\n\x0B\f\r ] // \x0B空格符
\w单词字符[\B]
\W非单词字符[\b]
{n}匹配次数表明左边匹配符匹配n数
( )按照子表达式分组
\转义如 \b
|逻辑或 a|b 匹配a或者b

常用等价 / 简写

? → {0,1}
* → {0,}
+ → {1,}
\d → [0-9]
\D → [^0-9]
[A,H,T,W] → A|H|T|W

//简写并非所有语言都支持


语法
正则表达式构成:字符{数量}位置

//基础语法  			 "^([]{})([]{})([]{})$"
//"开始([包含内容]{长度})([包含内容]{长度})([包含内容]{长度})结束"


记录一个问题

split使用正则表达式实现
String [] strings = new Scanner(System.in).nextLine().split("+");
提示dangling meta character问题出现
正确使用方式为
String [] strings = new Scanner(System.in).nextLine().split("\\+");如同转义字符
String.replace()replaceAll()等等同理
其他正则字符以此类推

2018/8/2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值