正则表达式数据注释不允许开始/结束空格(类似于修剪)
本文关键字:空格 类似于 修剪 结束 数据 注释 不允许 开始 正则表达式 | 更新日期: 2023-09-27 18:35:17
我正在使用正则表达式数据注释来验证街道地址字段是否包含数字、字母和空格(介于两者之间)。我希望如果街道字段在用户输入的文本的开头或结尾包含空格,则数据注释会引发错误。
例:
// [123 Fake Street] = valid
// [ 123 Fake Street] = not valid
// [ 123 Fake Street ] = not valid
// [123 Fake Street ] = not valid
这是我到目前为止所拥有的:
[RegularExpression(@"^[a-zA-Z 0-9]+$", ErrorMessage = "Street Address not valid.")]
任何帮助将不胜感激。
谢谢
你只需要稍微改变一下:
"^(?:[a-zA-Z0-9]+'s?)+[a-zA-Z0-9]+$"
这意味着:
- 获取 1 个或多个字母或数字以及一个可选的空格,并重复 1 次或多次;
- 以一个或多个字母或数字结尾
你也可以写:
"^(?:'w+'s?)+'w+$"
不确定这是否是一项学术练习,但你能从用户的输入中修剪前导和尾随空格吗?似乎这只是格式问题,而不是合法错误。但是,如果目标是更好地理解正则表达式,请忽略我的漫谈。
如果您正在寻找的只是缺少空格,那么您可以这样做:
^'S.+'S$
这可确保它以数字开头并以字母、句点或数字结尾。
这基本上相当于:
^[^ ].+[^ ]$
您也可以只查找以数字开头并以字符或句点结尾的内容(用于缩写)
^'d.*['w'.]$