• ~!@ to act as a placeholder in positions 1-3
• Asterisks are permitted in positions 2-5.
• Position One should be alphabetic (except for the ~!@)
• No characters should accept numbers.
• Other than the exceptions mentioned above, no special characters are allowed
意味着如果我的第一个单词ia字母然后2-5可以是Alpha或*(2-5不是强制性的,但如果我们输入那么它应该是alpha或*)
但如果我们使用〜那么2-3位应该是!@。
现在我正在使用
^[a-zA-Z~][a-zA-Z*]{0,4}[a-zA-Z]*$", Pattern.CASE_INSENSITIVE)
答案 0 :(得分:2)
由于原始正则表达式适用于字符串以字母开头的情况,请保留它并为以~!@
开头的字符串添加替换:
^(?i)(?:[a-z][a-z*]{0,4}[a-z]*|~!@[a-z*]{0,2}[a-z]*)$
答案 1 :(得分:1)
符合要求(case_insensitive):
^(?:~!@|[a-z][a-z*]{0,2})[a-z*]{0,2}[a-z]*$
答案 2 :(得分:0)
^[a-zA-Z][a-zA-Z*]{0,4}[a-zA-Z]*$|^~[!@]{2}[a-zA-Z*][a-zA-Z]*$
你可以试试这个。这应该符合你的所有条件。它使用|
运算符来匹配从~
开始的字符串和其他情况。