c# - 正则表达式匹配称呼
问题描述
我使用了以下正则表达式:
[RegularExpression(@"^(Mr. .*|MR. .*|MRS. .*|Mrs. .*|MS. .*|Ms. .*|DR. .*|Dr. .*)", ErrorMessage = "Greeting must begin with Mr., Mrs., Ms., or Dr. and be followed by a name.")]
public string? Greeting { get; set; }
如何强制用户在Mr.
, MR.
, MRs.
,之后输入空格Mrs.
,然后在空格后至少输入一个字符。
例如:如果他们输入Mr. Joe Doe
或Mr. Joe
有效但他们Mr.
只输入空格或Mr.
不输入空格无效。
解决方案
你可以尝试这样的事情开始
^[Mr\.]+[ ]+[A-Za-z]{0,25}[ ]?[A-za-z]{1,25}
这应该与您提供的用例相匹配。
反斜杠转义句点,因此它与文字句点匹配。
花括号给出了它之前的分组允许有多少模式的范围。
问号使其前面的括号分组成为可选的。
另外,给这个网站一个机会来实时试用你的正则表达式。https://regexr.com/
推荐阅读
- javascript - 如何修复此错误“未捕获的 DOMException:无法在 'Document' 上执行 'querySelectorAll':'div.com[min=]' 不是有效的选择器”?
- batch-file - 用于搜索和查找文件的批处理脚本,然后替换字符串
- c# - 我想用C#获取图像不透明区域的大小
- kubernetes - 如何获取 Kubernetes 提供的随机 pod 号
- python - 递归函数计算图中从开始到结束的简单路径
- python - 多处理 Pool.map 的奇怪行为
- sql-server - 合并查询的更新语句不起作用
- python - 29 Python中的CSV文件连接
- sql - 在 SQL/BigQuery 中组合范围
- wordpress - 将数据从 FocusableIframe 传输到块