笔试题:正则表达式(一)

今天笔试题两道判断与正则表示匹配的题,于是我痛下决心要学号正则表达式!

原题回忆:能被'^\d{1,3}(,{3})*$'该正则表达式匹配的是()

A.'2,23,4321'

B.'12,23,345'

C.'1234'

D.'6,368,745'

首先分析下,我认为这道题应该选D,但是第二个括号里感觉少了东西,否则正确的正确匹配应该是1,,,这种出现三个三个的逗号。写了个代码检验,按题干的正则表达式选项结果都是false,后一个括号里{3}前加上\d,D选项结果才是true:结果如下:

public static void main(String[] args) {
        String s = "6,368,745";
        boolean b = s.matches("^\\d{1,3}(,\\d{3})*$");
        System.out.println(b);
}

由于正则表达式规则还挺多的,要用的时候再去查去用就好了,这里总结下我这里碰到的正则表达式的知识点:

1. 基本组成

Brocket:括号

Caret:插入符号

Dollars:美元符号

2. 几种括号

[ 方括号:内包括需要匹配的字符;

{ 花括号:指定匹配字符的数量;

( 圆括号:用来分组。

3.开始结束符号

^:表示开始;$表示结束

4.一些快捷命令

可以用\d代替[0-9]:表示匹配0至9的数字

可以用\w代替[a-z][0-9][_]

\s代表任意空白符

\b单词的开始或结束

*:0次或多次发生

+:至少一次发生

?:0或1次发生

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值