匹配特定模式后的下一个(而不是最后一个)空格

时间:2014-01-15 11:13:18

标签: .net regex

考虑以下字符串

"Nr.: &N|1|2|3|4|5|6|7 / 8|9|10|11|12 / 2014"

我想得到以下匹配:

"&N|1|2|3|4|5|6|7 / 8|9|10|11|12 "

虽然正则表达式模式&N\|(.*|$)\s匹配:

"&N|1|2|3|4|5|6|7 / 8|9|10|11|12 / "

但是在最后一条垂直线之后,我想只匹配下一个,而不是最后空间。

关于如何解决这个问题的任何想法?

3 个答案:

答案 0 :(得分:2)

您可以通过多种方式实现这一目标。

&[^&]*(?=/)

请参阅Live demo

答案 1 :(得分:2)

如果总有一个空格,一个斜线,一个空格和一年的结尾,你可以这样做:

&N\|(.*|$)\/

比赛将是:

"1|2|3|4|5|6|7 / 8|9|10|11|12 "

See it in action

答案 2 :(得分:2)

有很多方法可以做到这一点。我的个人创作:

&.*\|[^ ]*