C# c正则表达式仅匹配连字符单词

C# c正则表达式仅匹配连字符单词,c#,regex,C#,Regex,基本上,如果我有aaa,它应该是匹配的。 如果是aaaa bbbb,它应该和aaaa bbbb匹配 如果它是唯一的aaaa,它不应该匹配 我想用regex来做,有什么想法吗 目前我有 (?=\\S*[-])([a-zA-Z-]+) 下面是编写正则表达式的方法 用文字描述要匹配的字符串模式。 查找适合所描述模式中每个特征的字符类、量词或运算符。 让我们先用文字描述一下你想要什么 字符串以一串字母开头 字符串的开头必须有一个或多个字母 然后是连字符 最后还有一堆角色 字符串的结尾必须有一个或多个字

基本上,如果我有aaa,它应该是匹配的。 如果是aaaa bbbb,它应该和aaaa bbbb匹配 如果它是唯一的aaaa,它不应该匹配

我想用regex来做,有什么想法吗

目前我有

(?=\\S*[-])([a-zA-Z-]+)

下面是编写正则表达式的方法

用文字描述要匹配的字符串模式。 查找适合所描述模式中每个特征的字符类、量词或运算符。 让我们先用文字描述一下你想要什么

字符串以一串字母开头 字符串的开头必须有一个或多个字母 然后是连字符 最后还有一堆角色 字符串的结尾必须有一个或多个字母 现在,我们将每个规则转换为正则表达式

[a-zA-Z] + - [a-zA-Z] + 然后,我们将所有这些结合在一起,得到:

[a-zA-Z]+-[a-zA-Z]+

您可以在前面使用空白边界,在后面使用单词边界


您尝试过做什么?问题出在哪里?您好,是的,很抱歉。我现在把它作为正则表达式-?=\\S*[-][a-zA-Z-]+。问题是它得到了aaa bbb——作为一个匹配,它应该只得到aaa bbb,只有一个单词是匹配,aaa是匹配,不应该是。你的问题是添加那个,格式化为代码,并解释它有什么问题。它应该匹配所有的aa-b-cc吗?它应该匹配aa-bb吗?在这种情况下它应该只匹配aa-b。是的,基本上就是这样,我想我没有把它们添加到两个单独的角色类中。感谢您的帮助。关于字符串开头和结尾的项目符号2和5尚未完全包括在内。应该有领先的^和落后的$@Adrianhh不,我的意思是比赛的开始和结束。我想我用错词了: