java - 如果字符串包含某个单词,我如何使用正则表达式跳过它
问题描述
如果在 Vehicles word str 1 = "3 Vehicles have been added", str 2 = "13 Vehicles" Regex I m using = 之后包含“have”,我想跳过该字符串([0-9]+)[\s]*Vehicles[\s]*[^have]
需要的输出是“13 辆”(仅),但“3 辆”也匹配..这是不对的
提前致谢
解决方案
您可以使用否定的前瞻来断言它 have
不是直接在右边。
否定字符类[^have]
匹配不是任何列出的字符的单个字符。
[0-9]+\h+Vehicles(?!\h+have\b)
在 Java 中
String regex = "[0-9]+\\h+Vehicles(?!\\h+have\\b)";
推荐阅读
- android - 缺少 Android Studio SDK 管理器
- typescript - 如何使用自定义类型扩展类型定义?
- r - 如何将 R 数据框的日期列转换为特定的字符串格式
- java - 文件名应该是什么?
- javascript - 我需要更改 y 轴的计算。那么,如何使用 mapboxgl js API 自定义这个轴呢?
- android - 为什么创建/更新通知时会出现 RemoteServiceException?
- java - android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class Button
- macos - 如何从命令行在 Safari 中打开复杂的 URL
- python - 在python中的文本后面制作一个矩形框
- ios - iOS中所有进程的父进程是什么?