我有以下国家名称,其中包含一些特殊字符。
- 刚果民主共和国。代表。的
- 科特迪瓦
- 几内亚比绍
- 大韩民国(南部)
因此,我编写了一个正则表达式来验证国家名称不得包含除、
.
'
之外的任何数字和特殊字符> -
(
)
我在下面写了正则表达式
string country = "COTE D’IVOIRE"
bool isValid = Regex.IsMatch(country.Trim(), @"^[a-zA-Z\-'()/.,\s]+$");
但它只是没有做这件事。有人可以让我知道我做错了什么吗。
最佳答案
如果您还打算允许 curl 撇号,只需将其添加到字符类中即可:
@"^[a-zA-Z’\-'()/.,\s]+$"
^
请注意,如果 -
在字符类的末尾,则不必转义,您可以使用 (?i)
不区分大小写的修饰符来缩短a-zA-Z
部分:
@"(?i)^[a-z’'()/.,\s-]+$"
C#:
string country = "COTE D’IVOIRE";
bool isValid = Regex.IsMatch(country.Trim(), @"(?i)^[a-z’'()/.,\s-]+$");
// or use RegexOptions.IgnoreCase option
//bool isValid = Regex.IsMatch(country.Trim(), @"^[a-z’'()/.,\s-]+$", RegexOptions.IgnoreCase);
关于c# - c#中特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31855391/