正则表达式匹配特定模式

时间:2016-05-15 15:25:33

标签: c# regex

请帮我纠正C#中的正则表达式,以便在以下情况符合时匹配/验证:

  • 始终以LIKE
  • 开头
  • <DockPanel> <controls:DockContainer x:Name="DockContainerBottom" Height="50" DockPanel.Dock="Bottom"/> <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="200"/> </Grid.ColumnDefinitions> <controls:DockContainer x:Name="DockContainerLeft" Grid.Column="0" /> <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Center" Width="3" Margin="0"/> <controls:DockContainer x:Name="DockContainerRight" Grid.Column="2" /> </Grid> </DockPanel>
  • 之后至少有一个字符
  • 只允许使用非大写字母,范围从a-z(包括两者)
  • 数字0-9允许
  • 允许破折号( - )

这就是我所拥有的,但它不起作用:

da/

将验证正则表达式的接受字符串示例:

da/

2 个答案:

答案 0 :(得分:2)

您的正则表达式允许da之后的++以及字符类中的^da/[a-z0-9-]+$ 允许+个符号。

根据要求判断,您只需要

[a-z0-9+-]

请参阅regex demo

字符类da/之后的Regex.IsMatch("da/this-will-validate-correct-1", @"^da/[a-z0-9-]+$") ^之后至少需要1个字符。

da/

请参阅C# demo

模式说明

  • da/ - 字符串开头
  • [a-z0-9-]+ - 字符串a-z
  • 0-9 - -$范围内的一个或多个字符或{{1}}
  • {{1}} - 字符串结束。

答案 1 :(得分:0)

你可以尝试这个^da/[a-z0-9\-]+$