I have the following sample text
[Item 1](./path/notes.md) [Item 2](./path) [Item 3](./path/notes.md) [Item 4](./path) When I applied the following regex \[(.*)\].*(?!notes\.md).*\), I expected the following output when I printed the first capture group
Item 2 Item 4 but what I ended up getting was
Item 1 Item 2 Item 3 Item 4 which, to me, seems that the negative lookahead portion, (?!notes\.md), was being ignored for some reason, so the regex was matching the whole string.
What is really confusing me, is that a positive lookahead works as I would expect. For example using \[(.*)\].*(?=notes\.md).*\) returns the following when printing the first capture group
Item 1 Item 3 which makes sense, so I am really confused as to why the negative lookahead is not functioning properly.
https://stackoverflow.com/questions/66947059/regex-negative-lookahead-is-being-ignored April 05, 2021 at 08:38AM
没有评论:
发表评论