我的C#代码上有一个正则表达式,我想通过添加约束来编辑它,如果字符串不包含至少一个字母,则拒绝文本,不管是什么语言。
我的正则表达式:@“^(?!\s+$)[\p{L}\p{M}\p{N}\p{Zs}\t'.-]+$”
有什么建议请。
任何Unicode字母都可以与\p{L}
匹配(请参阅您自己的模式)。
要匹配Unicode字母以外的任何字符,为了“找到”字符串中的字母,可以使用\p{L}*
。如果只有没有换行符的字符串,则可以简单地使用.*
或.*?
。
注意,该要求还包括至少有一个非空白字符的要求,因此(?!\s+$)
前瞻变得多余(因为它所做的只是在字符串中只有空白时取消匹配)。
要要求某些模式在字符串后面出现,可以使用lookahead:
@"^(?=\P{L}*\p{L})[\p{L}\p{M}\p{N}\p{Zs}\t'.-]+$"
// ^^^^^^^^^^^^^^^
@"^(?=.*\p{L})[\p{L}\p{M}\p{N}\p{Zs}\t'.-]+$"
// ^^^^^^^^^^^
请参阅.NET正则表达式演示。
详情:
^
-字符串的开始(?=\p{L}*\p{L})
-在除Unicode字母以外的零个或多个字符之后,必须有一个Unicode字母[\p{L}\p{M}\p{N}\p{Zs}\t'。-]+
-一个或多个字母、变音符、数字、水平空格、'
、.
或-
字符$
-字符串结尾。编辑角色 点击编辑角色按钮,打开编辑角色面板,修改需要变更的内容。点击确定保存结果。
我有这个正则表达式只允许字母数字字符。 如何检查字符串是否至少包含3个字母字符。 我当前的正则表达式, 我想强制执行字符串以确保至少有3个连续的字母字符;
这里有一个问题:我想保护URI,直到获得第三方OAuth2的授权。基于http://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/config/annotation/web/configuration/EnableOAuth2Client.html,我有以下内容: 而且 最后 但这给
我希望有一个用于密码匹配的regex,以确保密码包含: null 其他一些问题可以解决一些明确字母的脓肿问题。正如您在我接受的答案中所看到的,regex与我想要的并不接近。
我正在使用Python和Flask对密码进行表单验证。密码需要包含至少一个大写字母和至少一个数字。 我目前失败的尝试...
我需要这样一种验证,即我的字符串必须至少包含一个Unicode字母。将评估角色的角色。isLetter()为true。 比如说我要 我知道我可以使用角色循环。isLetter(),但我只是不想这么做。 这和这个完全不同,因为它只检查英文字母,但在我的例子中是一个Unicode字母。这根本不一样。