c# - 正则表达式 C# 问题

标签 c# regex

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

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

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

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

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

我喜欢的正则表达式是 C#。

感谢您的帮助!

最佳答案

"[^"]+"(?=;)|[^;]+(?=;)

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

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

"([^"]+)";|([^;]+);

关于c# - 正则表达式 C# 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035867/

相关文章:

java - 为什么 Java 不优化 String.split ("regex") 对字符串文字的调用?

c# - "AddRange"集合初始值设定项的名称?

c# - 在文本框中显示 SQL 表的查询

c# - 使用 Json.NET 的自定义反序列化

regex - awk 正则表达式中的花括号

java - 使用正则表达式 : Does adding the optional flag in a regex expression change how greedy or posessive modifiers are matched? 解析 SQL 语句

.net - .NET 正则表达式引擎是否支持内联模式修饰符?

c# - 异步/等待、TAP 和 EAP

c# - Facade 的使用和命名

javascript - 正则表达式限制重复数字