不工作正则表达式罚款

不工作正则表达式罚款

问题描述:

我需要的格式正则表达式在C#不工作正则表达式罚款

<abc>-<1wee>-<qwje>-<#>-<weruyu>-<...>-<suidyw>-<xdsljd23>- 

我写

 Regex r1 = new Regex("(^(<{1}([a-zA-Z0-9]*|[#]|[.]{3})>-{1})*$)", RegexOptions.IgnoreCase | RegexOptions.Singleline); 

在所有情况下预计 1这是工作的罚款格式的正则表达式。当在<和> 之间没有字符时,例如

<>-<agdf>- 

2,当任何一对字母数字字符来后<#>和< ...> 如

<abc>-efgh>-<123>-<#>-<...>- 

这是工作的罚款 但

<abc>-<#>-<123>-<...>- 

不工作

  1. 此零件:

    [a-zA-Z0-9] *

    也匹配0个字符。你可能想用的+

  2. 你的表情说字符串必须-,这也是为什么后来的例子不工作终止。尝试(-|$)使最后一个短划线可选。

+0

谢谢,第一部分工作正常。这是我的打字错误,实际上我想 - 。我编辑了这个问题,但我的问题是每当或<...>来作为字符串的最后部分它将工作。但一对像即将到来的最后一部分(之后)它不会工作 – 2013-03-26 08:00:28