我需要验证客户名称,java中的条件很少(仅使用正则表达式验证)。客户名称将位于字符串数组中并传递给方法。验证客户(字符串 [] 名称应验证客户名称,并仅返回数组中的有效客户名称。验证客户名称的标准如下。
由于条件可以稍后更新,我只需要正则表达式验证,而无需使用任何其他方法,如 String.length()。
我尝试了几个正则表达式,但是在某些情况下失败了。尝试了一个样本
[((([A-Z][a-zA-Z])([+\\s]?[A-Z][a-zA-Z]*))]{2,75}
您的正则表达式错误:
┌─ Definitely wrong!! Remove this
│ ┌─ Missing '*' to allow 1 to many words
│ │ ┌ '+' should not be allowed
│ │ │ ┌ Only space allowed, not other whitespace characters
│ │ │ │ ┌ Space is required between words, so remove '?'
│ │ │ │ │ ┌ Missing '*' to allow 1 to many words
│ │ │ │ │ │ ┌ Definitely wrong!! Remove this
│ │ │ │ │ │ │
[((([A-Z][a-zA-Z])([+\\s]?[A-Z][a-zA-Z]*))]{2,75}
您想要的:
┌─ Must be 2-75 characters long (positive lookahead)
│ ┌─ Word must be uppercase letter
│ │ ┌─ followed by 0 or more letters
│ │ │ ┌─ followed by 0 or more words separated by single space
(?=.{2,75})[A-Z][a-zA-Z]*(?: [A-Z][a-zA-Z]*)*
上面的正则表达式必须与 matches()
一起使用。如果要与 find()
一起使用,它需要 ^
和 $
锚点。
上面的正则表达式只允许A-Z字母。要支持国际字母,如ñ
,请改用以下方式:
(?=.{2,75})\p{Lu}\p{L}*(?: \p{Lu}\p{L}*)*
在Java字符串文字中使用时,请记住将< code>\加倍。
您可以使用
^(?=[a-zA-Z\\h]{2,75}$)[A-Z][a-zA-Z]*(?:\\h+[A-Z][a-zA-Z]*)*$
^
字符串的开始(?=[a-zA-Z\\h]{2,75}$)
断言2-75个字符a-zA-Z或水平空格[A-Z][a-zA-Z]*
匹配大写字符A-Z和可选字符a-zA-Z(?:\\h[A-Z][a-zA-Z]*)*
重复前面的1个水平空格$
字符串结束正则表达式演示
如果您想要一个单独的空间:
^(?=[a-zA-Z ]{2,75}$)[A-Z][a-zA-Z]*(?: [A-Z][a-zA-Z]*)*$
正则表达式演示
问题内容: 我正在使用以下正则表达式 它接受#@#.com作为有效电子邮件。我应该使用什么模式? 问题答案: 您应该使用apache- commons电子邮件验证程序。您可以从此处获取jar文件。 这是一个简单的用法示例:
本文向大家介绍请用正则表达式验证数字相关面试题,主要包含被问及请用正则表达式验证数字时的应答技巧和注意事项,需要的朋友参考一下 /[0一9]*$/
在我的rails应用程序中,我想验证包含任意数量关键字的字符串字段上的输入(可以是多个自然语言单词(例如“文档编号”)。为了识别各个关键字,我输入它们,以“,”分隔(或以字符串结尾获取它们的结尾)。 为此我用 它应该允许属性关键字(字符串)包含:“word1、word2、word3 word4、word5-word6” 它不允许使用任何其他模式。e、 g.非“word1;word2;”它确实错误地
我需要检查密码是否至少包含: 一个号码 一个小写字符 一个大写字符 一个特殊符号(.,@etc) 我在C#中有以下内容: 但这并不有效: 我错过了什么? 更新 我正在将其与系统.组件模型.数据注释一起使用来验证模型属性:
主要内容:标签属性,JSF验证整数范围实例标签用于将字符串值验证为所需格式。 以下代码显示如何使用标记。 标签属性 属性 说明 pattern 格式化模式 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateRegularExpression,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件:
我有以下用于javascript密码验证的正则表达式: 正则表达式规则是: 12-25个字符 至少有一个大写字母 至少有一个小写字母 至少有一个数字 至少有一个特殊字符:!#$%()*,-./:;=?@[]^ `{124;}~ 然而,正则表达式似乎不起作用。它匹配任何字符。我该怎么解决这个问题?