C# 在正则表达式末尾带点的有效单个字符

C# 在正则表达式末尾带点的有效单个字符,c#,regex,C#,Regex,我需要实现以下正则表达式: [a-zA-Z0-9_]+. 现在我不明白为什么“1”或“a”无效 此外,以下示例: abc_123_1 _____abc___301 1 a 也应该是有效的 感谢您的帮助。注意:根据问题的标题,我假设您使用的表达式是[a-zA-Z0-9_239;]+。(在撰写本文时,问题已由OP以外的人编辑以删除该点) 您的正则表达式当前要求“至少有一个a-z、a-z、0-9或x”,后跟“任何字符中的一个”。因此,它至少需要两个字符才能匹配 字符串“1”和“a”

我需要实现以下正则表达式:

[a-zA-Z0-9_]+.
现在我不明白为什么“1”或“a”无效

此外,以下示例:

 abc_123_1 
 _____abc___301 
 1 
 a 
也应该是有效的


感谢您的帮助。

注意:根据问题的标题,我假设您使用的表达式是
[a-zA-Z0-9_239;]+。
(在撰写本文时,问题已由OP以外的人编辑以删除该点)

您的正则表达式当前要求“至少有一个a-z、a-z、0-9或x”,后跟“任何字符中的一个”。因此,它至少需要两个字符才能匹配

字符串“1”和“a”只有一个字符,因此不匹配。给出你的有效例子,你确定你最后需要那个点吗


表达式
[a-zA-Z0-9\]+
(不带点)将匹配所有示例,包括单字符示例。

注意:根据问题的标题,我假设您使用的表达式是
[a-zA-Z0-9\]+。
(在撰写本文时,问题已由OP以外的人编辑以删除该点)

您的正则表达式当前要求“至少有一个a-z、a-z、0-9或x”,后跟“任何字符中的一个”。因此,它至少需要两个字符才能匹配

字符串“1”和“a”只有一个字符,因此不匹配。给出了有效的示例,您确定结尾需要该点吗

表达式
[a-zA-Z0-9_239;]+
(不带点)将匹配您的所有示例,包括单字符示例。

只需在表达式末尾丢失点(.),即使使用“1”或“a”,它也会起作用

只要去掉表达式末尾的点(.)就行了,即使是“1”或“a”


但是
+
表示“一个或多个匹配项”,不是吗?@MartinR+表示正则表达式的第一位。最后的点需要另外一个字符。@martin-r在
+
之后的
表示“恰好是任何字符中的一个”,你是对的,问题标题说“…正则表达式末尾有点”。我没有将点视为正则表达式的一部分,但将其视为句子的结尾:-)似乎该规则包含错误,因为一个字符应该是可能的。我现在把这个圆点放过了。谢谢你的帮助!但是
+
表示“一个或多个匹配”,不是吗?@MartinR+表示正则表达式的第一位。然后结尾的点需要一个额外的字符。@martin-r在
+
之后的
是“任何字符中的一个”,你是对的,问题标题说“…在正则表达式末尾有点”。我没有将点视为正则表达式的一部分,但将其视为句子的结尾:-)似乎该规则包含错误,因为一个字符应该是可能的。我现在把这个圆点放过了。谢谢你的帮助!“.”是正则表达式的一部分,还是只是句子末尾的一个句号?请澄清,您的正则表达式模式是:
[a-zA-Z0-9\]+。
还是
[a-zA-Z0-9\]+
?(也就是说,它的结尾是否有
)有人编辑了这个问题,从正则表达式中删除了点,但是问题标题上写着“在正则表达式末尾有点”,所以我认为它是表达式的一部分。我为这个问题再次添加了点,但为了解决问题,就放弃了这个点。谢谢你的帮助!“.”是正则表达式的一部分,还是只是句子末尾的一个句号?请澄清,您的正则表达式模式是:
[a-zA-Z0-9\]+。
还是
[a-zA-Z0-9\]+
?(也就是说,它的结尾是否有
)有人编辑了这个问题,从正则表达式中删除了点,但是问题标题上写着“在正则表达式末尾有点”,所以我认为它是表达式的一部分。我为这个问题再次添加了点,但为了解决问题,就放弃了这个点。谢谢你的帮助!
[a-zA-Z0-9_]+