首页 > 试题广场 >

正则表达式ab?c匹配的字符串是?

[单选题]
正则表达式ab?c匹配的字符串是?
  • abcd
  • abc
  • abcbc
  • aEbc
推荐
选 B
问号可以表示重复前面内容的0次或一次,所以 ab?c 匹配的应该是字母 b 出现一次或不出现的情况,即:abc 或 ac,测试只要使用 notepad++ 的正则表达式查找就好了,如图:

编辑于 2015-07-05 23:27:22 回复(0)
package Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test06 {

    public static void main(String[] args) {
        boolean b = false;
        String regex = "ab?c";
        b = Pattern.matches(regex, "abcd");
        System.out.println(b);
        b = Pattern.matches(regex, "abc");
        System.out.println(b);
        b = Pattern.matches(regex, "abcbc");
        System.out.println(b);
        b = Pattern.matches(regex, "aEbc");
        System.out.println(b);
    }

    private static void p(Object group) {
        // TODO 自动生成的方法存根
        System.out.println(group);
    }

}
/*
输出结果:
false
true
false
false

*/
发表于 2018-04-27 15:20:02 回复(0)

发表于 2016-08-03 11:59:09 回复(0)
B
发表于 2020-06-04 11:24:48 回复(1)
选择。正则表达式当中“?”是个量词符号,表示为出现0次或1次。
题目中“?”紧跟在b后面,表示要匹配的表达式中b出现0次或1次,a和c没有跟量词故需原样匹配。
发表于 2015-07-09 20:58:26 回复(0)
B, ?是可选字符,这个正则的意思是,现匹配字符a,如果下一个是字符b,匹配,如果不是,也匹配,最后匹配字符c
发表于 2015-07-03 08:30:51 回复(0)
String str = "ac";
System.out.println(str.matches("ab+c"));

发表于 2015-07-03 00:34:20 回复(0)
选B
在正则表达式中,问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。所以只有abc符合
发表于 2015-07-02 21:06:56 回复(0)
B
?表示可以匹配前面的字表达式零次或一次
ab?c可以匹配abc和ababc
附上python写的测试

发表于 2015-01-09 00:47:46 回复(1)