我试图在java中找到正则表达式模式来查找字符串是否包含3个字母的回文,例如:
- 去眼睛检查
- nan 表示不是数字。
最佳答案
对于三字母回文,您可以使用以下模式:
^(?=.*([a-zA-Z])[a-zA-Z]\1)[a-zA-Z .]+$
^
断言字符串开头的位置。(?=.*([a-zA-Z])[a-zA-Z]\1)
正向先行。确保字符串中的某个位置有一个字母 (([a-zA-Z])
),后跟一个不同的字母 ([a-zA-Z]
),然后再次使用相同的字母(\1
)。[a-zA-Z .]+
字母、空格和.
的字符集,一个或多个+
。$
断言字符串末尾位置。
正则表达式演示 here .
对于测试字符串:
goingforeyecheckup
由于 eye 而匹配。nan 表示不是数字。
由于 nan 而匹配。不匹配她
不匹配,因为没有回文。在此处匹配
由于这里而匹配。
关于Java正则表达式模式在输入字符串中查找3个字母回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344922/