gpt4 book ai didi

java - 如何在 Android Java 中合并正则表达式中的两个或多个条件?

转载 作者:行者123 更新时间:2023-12-01 10:58:43 25 4
gpt4 key购买 nike

我正在使用输入过滤器,并使用它来匹配 xml 中设置的正则表达式。

所以想想这个正则表达式,每次用户按下键盘上的键时它都会进行测试。

这些是应该匹配的内容:“约翰”、“约翰-欧内斯特”、“j10n”、“jo199”、“约翰-欧内斯特1”

这些不应该:“-jon”、“09john”、“aaa”、“aa”、“john-”

基本上:

  • 它应该始终以字母字符开头(无论大小写)

  • 它可以接受“-”字符,但只能接受一次,并且不能位于开始或结束位置

  • 它可以接受数字,但不能在起始位置

  • 如果前面的字符相同,则它不能接受字符,因此不能重复字符。

我只能做到这一点:^[a-zA-Z]+[a-zA-Z0-9-]?[a-zA-Z0-9]*$

任何帮助将不胜感激问题在于,它在键入时不接受“-”字符,因为它只接受它。

最佳答案

您可以尝试以下基于前瞻的正则表达式。

^(?!.*(.)\1)[a-zA-Z]+[a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*$

关于java - 如何在 Android Java 中合并正则表达式中的两个或多个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33463660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com