Question

I need to filter a list of files. Some of these are csv files, and of those, some of them are appended with a control tag, ".cntl".

Example: file1.csv, file1.csv.cntl

I would like to set up a regex that checks to see if a file contains "csv" and NOT "cntl". Right now I've got this.

csv(?!cntl)

This is not working. What would a proper regex be?

PS. This is all done in C#.

Was it helpful?

Solution

Your regex should check to see if a file ends with .csv

\.csv$

Remember that csv could be contained elsewhere in the file name.

OTHER TIPS

The following is the pattern you want.

@"csv(?!\.cntl)"

But, wouldn't it be easier to check:

if (string.EndsWith("cntl"))

Using a regex is unnecessarily complicated.

This should work:

csv(?!.*cntl)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top