我需要使用以下模式为名称构建一个正则表达式,所以 John D.E。将通过正则表达式测试。 基本上我想要的是:
N个字符(a-zA-Z)排在首位
然后只有一个空格
恰好是一个字符(a-zA-Z)
正好一个点
恰好是一个字符(a-zA-Z)
正好一个点
我编写了此正则表达式^([a-zA-Z]*)+( {1})+([a-zA-Z]{1})+(\.)+([a-zA-Z]{1})+(\.)
,但它似乎无法正常运行(例如,该表达式仍允许n个空格)。如何限制呢? {1}
不起作用。
答案 0 :(得分:2)
尝试一下:
^([a-zA-Z])+([ ]{1})([a-zA-Z]{1})([.])([a-zA-Z]{1})([.])
我已经将空格和点纳入类([]
)中。如果您不使用点进行此操作,则表示任何字符。 Alo加号是多余的,它们表示多个字符。
P.S .: @ f1sh正确地注意到,拥有{1}
不会改变任何事情,因此缩写形式应该是:
^([a-zA-Z])+([ ])([a-zA-Z])([.])([a-zA-Z])([.])