我正在尝试为包含4个字符的模式制作正则表达式,其中将有一个或多个点(“。”)没有顺序 (示例:asd。,。afd,.AF。)
到目前为止,我得到了这个 [a-zA-Z(。+)] {4} ,但它似乎不起作用(它匹配alex和ale。)。
答案 0 :(得分:3)
[a-zA-Z(.+)]{4}
模式匹配4个字符:字母,(
,.
,+
或)
字面符号。
您可以使用
^(?=.*[.])[a-zA-Z.]{4}$
<强>详情:
^
- 字符串的开头(?=.*[.])
- 一个积极的前瞻,要求任何0+字符后至少应有1个点[a-zA-Z.]{4}
- 4次出现字母或点$
- 字符串结束。请参阅regex demo。
答案 1 :(得分:1)
如果你的正则表达式语言支持超前断言,
(?=.{0,3}\.)[A-Za-z.]{4}
这声明0-3个字符后有.
个字符,而且4个字符都是A-Z或.
。
如果你的正则表达式语言不支持超前断言,那么你必须以更痛苦的方式做到这一点,
\.[A-Za-z.]{3}|[A-Za-z]\.[A-Za-z.]{2}|[A-Za-z]{2}\.[A-Za-z.]|[A-Za-z]{3}\.
每个职位都有.
个案例。