正则表达式 不以特定 字符开头的行 或者 不包含特定 字符串的行

时间: 2023-08-02 admin 互联网

正则表达式 不以特定 字符开头的行 或者 不包含特定 字符串的行

正则表达式 不以特定 字符开头的行 或者 不包含特定 字符串的行

比如匹配不以a开头的结果:^[^a]

作为定位符时, ^ 表示字符串的开始, $表示字符串的结束

需要注意的是: 不要将 ^ 的这种用法与中括号表达式内的用法混淆 在中括号中使用^时, 表示不匹配某个字符, 比如[^a]表示不匹配a这个字符,比如:
被匹配的词是crashType,那[^a]就就能匹配到crshType 这几个字符

举例说明:

Lua,2022-07-04 17:42:26,SM-S908B,0de6ba017a6c19f9,"NullReferenceException: Object reference not set to an instance of an object."
Lua,2022-07-04 17:49:20,Pixel 6,e59014ff657c3ee3,"ArgumentNullException: Value cannot be null.

上面内容中:

  • [^ArgumentNullException] 匹配的内容是 除了ArgumentNullException之外的任意字符,注意是字符,匹配的内容为:
    Lua,2022-07-04

  • 不以Lua 或者 Java开头的行:^[^(Java|Lua)]

  • 匹配不包含ArgumentNullException的行要这样写:^((?!ArgumentNullException).)*$