我正在尝试为Android项目编写正则表达式。与此相关的小部件是此处https://github.com/rengwuxian/MaterialEditText
中的MaterialEditText此编辑文本有一个将RegExp验证器链接到它的方法。到目前为止,我设法得到了这个。
"^[a-zA-Z\\s]*$"
如果它与此模式不匹配则显示错误。我需要链接另一个addValidator来检查编辑文本是否为空,我该怎么做?
我试过这段代码
editText.addValidator(
new RegexpValidator("Must contain letters only", "^[A-z][\\sA-z]*$")).addValidator(new RegexpValidator("Cannot be blank","^$"));
当它的空白时,我得到"必须包含字母错误",当我输入任何数据时,我得到"不能为空白"
答案 0 :(得分:2)
+
代替*
,但结合#1的修正,这不是必需的。 这样的事情应该有效:^[A-z][\sA-z]*$
答案 1 :(得分:1)
好像你想要这样的东西,
"^[a-zA-Z]+(?:\\s[a-zA-Z]+)*$"
这个正则表达式在开头或结尾都不会允许空格。 +
重复前一个令牌一次或多次*
将重复前一个令牌零次或多次。