2013-03-26 75 views
-1

我需要的格式正則表達式在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
  1. 此零件:

    [a-zA-Z0-9] *

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

  2. 你的表情說字符串必須-,這也是爲什麼後來的例子不工作終止。嘗試(-|$)使最後一個短劃線可選。

+0

謝謝,第一部分工作正常。這是我的打字錯誤,實際上我想 - 。我編輯了這個問題,但我的問題是每當<#>或<...>來作爲字符串的最後部分它將工作。但一對像<123>即將到來的最後一部分(之後<#>)它不會工作 – 2013-03-26 08:00:28