我想创建一个具有以下结构的正则表达式
text(length from 5 to 15)+text(length from 5 to 15)+text(length from 5 to 15)
文本的最后一部分不是强制性的。在每个部分中允许使用小写和大写。另外我想包括像{ą,ś,ź}这样的波兰语字母。 到目前为止,我已经创建了该表达式,但验证显示我输入错误。
[RegularExpression("^[A-Za-z]{5-15}+[A-Za-z]{5-15}+([A-Za-z]{5-15})?")]
答案 0 :(得分:0)
这对你有用吗</ p>
/(\p{L}{5,15}\+){2}(\p{L}{5,15})/
\ p {L} 匹配任何语言的任何类型的字母
{5-15}字面匹配字符{5-15}(区分大小写)
{2} 量词 - 匹配2次
+ 与“+”完全匹配
匹配字符串“ABCDE + ABCDE + abcde”
答案 1 :(得分:0)
由于您要在客户端和服务器端进行验证,因此不能使用.NET \p{L}
(任何Unicode字母)正则表达式构造。您需要在正则表达式中明确列出英文和波兰文字。
使用
^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{5,15}(?:\+[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{5,15}){0,2}$
请参阅regex demo
<强>详情:
^
- 字符串开头[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{5,15}
- 5到15个英文和波兰文字(?:\+[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{5,15}){0,2}
- 0到2({0,2}
)个序列:
\+
- 文字加符号(必须转义,或使用[+]
以避免转义问题)[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{5,15}
- 5到15个英文和波兰文字$
- 字符串结束。