You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改称呼匹配正则,强制Mr.等前缀后需跟空格及有效内容

解决方案

你可以直接替换原正则表达式为如下版本,同时修正了原表达式里.未转义会匹配任意字符的隐患:

[RegularExpression(@"^(?i)(Mr|Mrs|Ms|Dr)\.\s+\S.*$", ErrorMessage = "Greeting must begin with Mr., Mrs., Ms., or Dr. and be followed by a name.")]
public string? Greeting { get; set; }

正则规则说明

  • (?i):内联不区分大小写修饰符,自动兼容大小写写法的前缀(比如MR.、MRS.都可以匹配,不需要手动列所有大小写组合)
  • (Mr|Mrs|Ms|Dr)\.:严格匹配指定前缀加英文点,\.转义后确保只会匹配真实的英文句号,不会像原表达式那样匹配任意字符
  • \s+:强制前缀后至少有1个空白字符(如果只允许半角空格,可直接替换为半角空格 即可)
  • \S.*:强制空白字符后至少有1个非空白有效字符,后面可以跟任意内容(支持多字姓名)
  • ^和$:分别匹配字符串开头和结尾,确保整个输入完全符合规则

如果不需要兼容任意大小写写法,只想匹配你列出的8种固定大小写的前缀,可改用如下正则:
@"^(Mr\.|MR\.|Mrs\.|MRS\.|Ms\.|MS\.|Dr\.|DR\.)\s+\S.*$"


校验效果完全符合要求

  • 合法输入示例:Mr. Joe Doe、Mr. Joe、DR. Brown
  • 非法输入示例:Mr.、Mr. 、Mr.Joe(点后无空格)

内容的提问来源于stack exchange,提问作者kuka muk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:54:03