正则表达式C#问题

Sea*_*ard 6 c# regex

我确信有一个简单的解决方案,但我似乎错过了它.

我需要一个正则表达式来执行以下操作:

asdf.txt;qwer 应该匹配 asdf.txt

"as;df.txt";qwer 应该匹配 as;df.txt

正如你所看到的,我需要匹配分号,但如果存在引号(当值中有分号时),我需要在引号内匹配.由于我正在寻找文件名,因此值中永远不会有引号.

我的正则表达式是C#.

谢谢你的帮助!

Dou*_*eny 2

"[^"]+"(?=;)|[^;]+(?=;)
Run Code Online (Sandbox Code Playgroud)

这会匹配双引号内的文本,后跟分号或文本后跟分号。分号不包含在匹配中。

编辑:意识到我的第一次尝试将与引号匹配。以下表达式将排除引号,但使用子表达式。

"([^"]+)";|([^;]+);
Run Code Online (Sandbox Code Playgroud)