简单的正则表达式,用于匹配多个单词与空格/多个空格或没有空格和特殊字符

时间:2018-03-08 23:48:24

标签: regex

我有一个用逗号分隔的字符串 前3个字段是静态的。 字段4-20是动态的,即使它具有特殊字符但不能为空,也可以包含任何字符串。 字段21是静态的 字段22是动态的,即使它具有特殊字符也可以包含任何字符串。 Fields 23,24是静态的。

我需要确保字符串符合上述条件且是匹配,但我想知道如何使字段4-20可以选择包含特殊字符而不是空白。 (总共17到4-20之间)

如果我删除了特殊字符的要求,这似乎有效:

字段1 \,字段2 \,字段3 \,+([\ W \ S \,] +)F21 / C \,[\ W \ S \,] +(F / 23 \,)(Field24)

用这个字符串 Field1,Field2,Field3,F4,f5,6f 1,f72,f8,F9,F10,F1,f12,f13,f14,f15,f16,f17,f18,f19,f20,F21 / C,F22,F / 23 ,Field24

有没有办法实现这一点,字段4-20有特殊字符而不是像“”或“”那样是空的,还是我把它推得太远了?

我知道我可以通过c#解析它,但我正在试用Regex,它看起来非常强大。

由于

1 个答案:

答案 0 :(得分:0)

我没有完全理解这个问题 但我认为这就是你想要的底线:

s1,s2,s3,([^ ,]+,){17}s21,[^ ,]+,s23,s24

将sX替换为相关的静态字段。

例如: https://regex101.com/r/EaAPKH/1