正则表达式,匹配非某字符或单词

在正则表达式中,想不匹配某字符可以用:

[^a]* 表示匹配除a以外的所有字符

[^abc]* 表示匹配除a、b、c以外的所有字符,注意,是字符,而不是字符串,即a,b,c字符均不匹配


而当我们要不匹配某字符的时候,可以这样用:

((?!win).)* 表示匹配除单词win的其它所有字符


匹配某词在某词的前面,如:销售在生产的前面:

String string = "aaaa生p产aaaa销售aa生产";
String string2 = "aaaa生产aaaa销售aa生产";
System.out.println(string.matches("((?!生产).)*销售.*生产.*"));
System.out.println(string2.matches("((?!生产).)*销售.*生产.*"));

上面输出:

true
false




  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
正则表达式可以用来匹配指定字符。在正则表达式中,可以使用字符集来匹配指定的字符。例如,如果要匹配"a"、"b"、"c"之的任意一个字符,可以使用反向字符集\[^abc\]。这个正则表达式表示除了"a"、"b"、"c"之的任意一个字符字符组的第一位放^,表示取反。另,也可以使用范围表示来匹配指定的字符。例如,\[a-z\]表示匹配小写字母a到z之间的任意一个字符。\[1\]所提供的引用中还给出了其他常用的字符集,如\d匹配数字,\D匹配非数字,\s匹配空白字符,\S匹配非空白字符,\w匹配单词字符,\W匹配单词字符。所以,根据具体的需求,可以使用不同的字符集来匹配指定的字符。 #### 引用[.reference_title] - *1* [正则表达式——匹配单个字符](https://blog.csdn.net/Nurbiya_K/article/details/106663041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【正则表达式字符匹配篇](https://blog.csdn.net/weixin_38629529/article/details/120306934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值