正则表达式的不包含
16lz
2021-01-26
文章目录
- ^
- $
- (?!X)
- ^(?!X)
- (?!X).
- ((?!X).)*
- ^((?!X).)*
- ^((?!X).)*$
^
表示一个缝隙,每行的开头
$
表示一个缝隙,每行的结尾
(?!X)
表示一个缝隙
从每行的每个缝隙(开头、结尾、两个字符间)开始向后匹配
其中所有匹配不到 X 的缝隙
^(?!X)
表示一个缝隙
从每行的开头缝隙开始向后匹配
其中所有匹配不到 X 的缝隙
(?!X).
表示一个字符
从 (?!X) 代表的缝隙向后填充一个字符
((?!X).)*
表示一个字符串
零个或多个连续的 (?!X). 代表的字符
^((?!X).)*
表示一个字符串
这个字符串的开头是每行字符串的开头(的缝隙)
随后是零个或多个连续的 (?!X). 代表的字符
^((?!X).)*$
表示一个字符串
这个字符串的开头是一行字符串的开头(的缝隙)
随后是零个或多个连续的 (?!X). 代表的字符
结尾是一行字符串的结尾(的缝隙)
通过 Android Studio 中的 logcat 过滤器,显示不包含 X 的 log:
logcat 过滤器的正则表达式为 Y,过滤的含义是:
显示能够匹配到 Y 的 log
。
要显示不包含 X 的 log,则 Y 的含义应该是:一整句都不包含 X 的字符串
。
则 Y 就应该是:^((?!X).)*$
如果没有 ^、$,只是((?!X).)*
,则含义是:一整句中若干个不包含 X 的子字符串
。
通过它过滤,包含 X 的 log 仍会显示出来,因为包含 X 的 log 也包含【它的不包含 X 的子字符串】。
更多相关文章
- Android应用资源的使用方法(数组、颜色、尺寸、字符串、布尔、整
- 我在Android开发中遇到的坑之微博正文点击处理
- Android(安卓)官方 Training 文档学习总结系列之「支持不同的设
- Android解析带转义符的JSON
- 深度剖析 | 阿里热修复如何精简优化补丁资源?
- Android中的资源
- Android常用加密手段之MD5加密(字符串加密和文件加密)
- android 整数与ip地址的转换
- Android(安卓)Base64解码失败问题