【发布时间】:2014-07-14 19:31:25
【问题描述】:
我对正则表达式一无所知,因为它对我来说很复杂。我正在使用一个基于正则表达式限制用户输入的程序。我目前正在使用只允许用户输入的正则表达式:
A-Z and a-z
0-9
.
,
!
?
所以基本上是典型段落或网络文章中的任何内容。
程序声明“输入一个正则表达式,输入的文本必须匹配(使用 preg_match 评估,使用 s 和 i 标志)才能有效。”
我已经尝试过这个正则表达式但没有成功,我目前正在寻找其他人尝试。
'/^[a-zA-Z0-9,.!? ]*$/'
它应该允许一个简单的句子,例如
“嗨,我叫约翰!我喜欢吃苹果、橙子和葡萄。你愿意和我一起吃吗?
【问题讨论】:
-
.是一个特殊字符。你需要逃避它:\. -
不,
.不需要在[]字符类中转义。 -
您好像忘记了
!和?。 -
您使用什么输入字符串测试您在上面发布的模式?根据您的标准,它基本上是正确的,除了它允许零长度字符串并省略
!? -
对不起,我添加了!和 ?在我测试了那个字符串之后,我忘记了那些。那是更新后的字符串,我需要一个正则表达式来处理它。