正则expression式不匹配以字符e开始的行
我有这样一个正则expression式:
/^[^(\-.+\n|content|\n\-.+\-{2})](.+)/igm
这是一个示例input:
------WebKitFormBoundaryKanSEkvcMamqayJY Content-Disposition: form-data; name="fl"; filename="emty" Content-Type: application/octet-stream this is trial ------WebKitFormBoundaryKanSEkvcMamqayJY--
我想要捕获除了下面的每一行:
------WebKitFormBoundaryKanSEkvcMamqayJY Content-Disposition: form-data; name="fl"; filename="emty" Content-Type: application/octet-stream ------WebKitFormBoundaryKanSEkvcMamqayJY--
这个正则expression式运作良好,除非行以下列字符开始:
e,t,o,+,|,c,n,.
我想这是关于字符ASCII代码范围的东西,不知道如何解决这个问题。
恐怕你的正则expression式有一个更大的问题。 总之, [^(\-.+\n|content|\n\-.+\-{2})]
只匹配1个字符,因为它是一个字符类。
假设你想忽略的行以超过Content-
和Content-
,你可以使用下面的正则expression式:
/^(?!-{3,}|content-).+$/igm
这里是一个演示
以防万一有可能是领先的空白,我会使用一个更安全的版本:
/^(?!\s*(?:-{3,}|content-)).+$/igm
最后,如果您需要匹配空行,请使用.*
replace.+
。
这是诀窍:
/^(?!\s*(-|Content)).*/
看演示