Link to home
Start Free TrialLog in
Avatar of Steve Williams
Steve WilliamsFlag for United States of America

asked on

Can someone help me with a file search filter Using Regex in C# Windows Form Application

I'm trying to get the op numbers from the following filename strings using RexEx which the pattern will be used in VS2017 using the C# language for developing a Windows Form Application. In this application, we are filtering filenames in a datagridview by Op number when searching through a folder directory and all its subdirectories. I'm having an issue trying to get the regex to work on the tester websites I have tried. These are and

Filename1: C-2590-3 REV-B OP#50.pcl
Filename 2: C-2590-3 REV-B OP#50-59.pcl
Filename 3: C-2590-3 REV-B OP#50-59-90.pcl
Filename 4: C-2590-3 REV-B OP#50-59-90-70(Flip).pcl
Filename 5: C-2590-3 REV-B OP#50-59-90 (Flip)60-90.pcl

The text I need to capture is :

Filename 1 Results: 50
Filename 2 Results: 50-59
Filename 3 Results: 50-59-90
Filename 4 Results: 50-59-90-70
Filename 5 Results: 50-59-90 60-90

This is what I have tried on the tester:



and I keep getting stuck because it will only show me the 1st two digits "50"

I'm not real familiar with Regex and I thought I should get some help because I'm missing something And don't know what that might be.

Can anyone help with this? Here is a screenshot of the form application running.

User generated image
Avatar of kaufmed
Flag of United States of America image

You don't really need the lookbehinds--simple capture groups should suffice.


Open in new window

The pattern explanation is broken down here on the "Explain" tab:

You can also look at the "Replace" tab to see the results as you have listed.
Avatar of Steve Williams


I may have not explained this correctly. I need only the following returned so I can populate the datatable row, each line below is a different row in the datatable:

50-59-90 60-90
Avatar of kaufmed
Flag of United States of America image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for your help! But this did not work out how I planned but after playing with your regex solution I realized that the different variations of file name structures could not be done with regex. The end users try to follow a format but rarely do. I do know that they always use the OP# in the string and the file name ends with .pcl or .sch so this is my final expression.


It finds everything between the "#" sign and the "."