C# 名称的正则表达式应以字母开头
我正在尝试为名称编写一个正则表达式,它以字母开头,字符串中也可以有空格和数字 目前我正在使用^?=.[a-zA-Z].[a-zA-Z0-9']{1,50}$ 但它接受的字符串是1125151asdgvhavdg。i、 也就是说,它是从一开始就考虑数字 我的绳子应该是这样的 ADS56456455456 fdsf78 简单到:C# 名称的正则表达式应以字母开头,c#,regex,C#,Regex,我正在尝试为名称编写一个正则表达式,它以字母开头,字符串中也可以有空格和数字 目前我正在使用^?=.[a-zA-Z].[a-zA-Z0-9']{1,50}$ 但它接受的字符串是1125151asdgvhavdg。i、 也就是说,它是从一开始就考虑数字 我的绳子应该是这样的 ADS56456455456 fdsf78 简单到: ^([a-zA-Z][a-zA-Z0-9' ]{0,49})$ 这里不需要任何断言简单到: ^([a-zA-Z][a-zA-Z0-9' ]{0,49})$ 此处不需要任
^([a-zA-Z][a-zA-Z0-9' ]{0,49})$
这里不需要任何断言简单到:
^([a-zA-Z][a-zA-Z0-9' ]{0,49})$
此处不需要任何断言您可以使用以下代码: ^[a-zA-Z\s][a-zA-Z0-9]{1,50}$
此正则表达式以字符开头,允许空格和数字。您可以使用以下代码: ^[a-zA-Z\s][a-zA-Z0-9]{1,50}$
这个正则表达式以字符开头,允许空格和数字。您可以这样简洁地表达它:
^(?i)[a-z][a-z\d ]{0,49})$
^\p{L}[\p{L}\p{Nd}' ]{0,49}$
您可以这样简洁地表达:
^(?i)[a-z][a-z\d ]{0,49})$
^\p{L}[\p{L}\p{Nd}' ]{0,49}$
如果您不能100%确定永远只有Ascii字母需要匹配,那么您应该查看,例如字母\p{L} \p{L}任何语言的任何字母 或者,收集某些语言所需的信件 因此,您的正则表达式将如下所示:
^(?i)[a-z][a-z\d ]{0,49})$
^\p{L}[\p{L}\p{Nd}' ]{0,49}$
我还用属性\p{Nd}替换了0-9,即除表意文字以外的任何文字中的数字0到9。如果您不能100%确定永远只有Ascii字母需要匹配,那么您应该查看,例如字母\p{L} \p{L}任何语言的任何字母 或者,收集某些语言所需的信件 因此,您的正则表达式将如下所示:
^(?i)[a-z][a-z\d ]{0,49})$
^\p{L}[\p{L}\p{Nd}' ]{0,49}$
我还用属性\p{Nd}替换了0-9除表意文字以外的任何脚本中的数字0到9。您接受的输入示例?可能是这样的:a123ajdbhbdWhat you hat.*在前瞻性断言中?您接受的输入示例?可能是这样的:a123ajdbhbdWhat you hat you hat.*在前瞻性断言中?