正则表达式(每个可能的顺序最多3个字母和一个或多个点)

时间:2017-04-21 20:31:48

标签: regex

我正在尝试为包含4个字符的模式制作正则表达式,其中将有一个或多个点(“。”)没有顺序 (示例:asd。,。afd,.AF。

到目前为止,我得到了这个 [a-zA-Z(。+)] {4} ,但它似乎不起作用(它匹配alex和ale。)。

2 个答案:

答案 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}\.

每个职位都有.个案例。