用于字母和空格的.NET RegEx

use*_*192 5 .net c# regex

我试图在C#中创建一个只允许使用字母数字字符和空格的正则表达式.目前,我正在尝试以下方面:

string pattern = @"^\w+$";
Regex regex = new Regex(pattern);
if (regex.IsMatch(value) == false)
{
  // Display error
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

jjx*_*tra 21

如果你只需要英语,试试这个正则表达式:

"^[0-9A-Za-z ]+$"
Run Code Online (Sandbox Code Playgroud)

括号指定一组字符

0-9:所有数字

A-Z:所有大写字母

a-z:所有小写字母

' ':空间

如果你需要unicode/internationalization,你可以尝试这个正则表达式:

"^[\\w ]+$"
Run Code Online (Sandbox Code Playgroud)

这个正则表达式将匹配所有unicode字母,数字和空格,这可能比你需要的多,所以如果你只需要英文或基本的罗马字符,第一个正则表达式将更简单,更快速地执行.

请注意,对于正则表达式我已经包含了^$这意味着比赛在开始和结束操作.如果您需要将其从字符串中拉出来并且不需要是整个字符串,则可以删除这两个运算符.

  • 那不是字母,那是ASCII字母.除了美国之外,到处都是休息. (2认同)

Moo*_* Pc 6

试试这个带空格的所有字母:

@"[\p{L} ]+$"
Run Code Online (Sandbox Code Playgroud)