开发者社区> 问答> 正文

以不是某字符开头正则表达式怎么写?:报错

一个字符串 String aa = "aaa bbb  abab ccc accc";  

匹配a开头的字符串,并且结尾是空格的,结果有:aaa abab 

String aa = "aaa bbb  abab ccc accc";
String regEx1 = "(a.*? )";
Pattern pattern1 = Pattern.compile(regEx1);
Matcher matcher1 = pattern1.matcher(aa);
while (matcher1.find()) {
	System.out.println(matcher1.group());
}
那么怎么匹配不为a开头的字符串结果不是空格的,结果是:bbb  ccc accc 的呢?


展开
收起
kun坤 2020-06-09 22:12:00 561 0
1 条回答
写回答
取消 提交回答
  • ^[^a].*?[^\s]$######

    引用来自“leo108”的答案

    ^[^a].*?[^\s]$
    不对哦
    ######^[^a]* 这个应该对了,我测试了一下。
    ######不对######^[^a].*[^\s]$######囧,accc 不是以a开头的么?######

    一个字符串中所有a开头,空格结尾:(^|\s)?a.*\s

    整个字符串a开头,空格结尾:^a.*\s$

    ######

    [^a]+.*

    +加号表示,至少有一个

    String aa = "aaa bbb  abab ccc accc";
     String[] aas=aa.split(" ");
     String regEx1 = "^([b-zA-Z]+\\w*)";
     Pattern pattern1 = Pattern.compile(regEx1);
     for (String string : aas) {
     Matcher matcher1 = pattern1.matcher(string);
     while (matcher1.find()) {
     System.out.println(matcher1.group());
     }
     }

    ######^[^a] 空格$######\b[^a\s].*?\b
    2020-06-09 22:12:05
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载