我想升级我的正则表达式让用户写。或数字,但不是孤立的,不写。最后一句话

时间:2011-03-14 20:02:55

标签: regex

我想升级我的正则表达式,让用户写.或数字但不单独,而不是在最后一个单词中写.

实施例: 我想写

hello to web 2.0

hello farah.nor

但不是hello word.

而不是.....................213123213123123

这是我的正则表达式

preg_match('#^[a-z0-9. ]+$#i',$text)

1 个答案:

答案 0 :(得分:0)

你快到了:

preg_match('#^[a-z0-9. ]+(?<!\.)$#i',$text)

负面的lookbehind确保字符串不会在.中结束(如果它仅由.组成,它也会这样做,因此也会捕获条件。)

修改

现在您还想要禁止“仅数字”,您还需要一个先行断言:

preg_match('#^(?![0-9]*$)[a-z0-9. ]+(?<!\.)$#i',$text)