检查字符串是否与模式匹配

18

如果我需要一个字符串与这个模式匹配:"word1,word2,word3",我该如何在PHP中检查该字符串以确保它符合这个模式?

我想要确保该字符串符合以下任意一种模式:

word
word1,word2
word1,word2,word3,
word1,word2,word3,word4,etc.
3个回答

25

使用正则表达式

preg_match("[^,]+(,[^,]+){2}", $input)

这会匹配:

stack,over,flow
I'm,not,sure

但不包括:

,
asdf
two,words
four,or,more,words
empty,word,

5

2
我不认为这就是他的意思。 - Mark Byers
很抱歉。使用多种语言的副作用。Ruby 将采用字面意义(或将“''”解释为分隔符)。 - CodeJoust

4

如果你严格要匹配一个或多个完整单词而不是用逗号分隔的短语,可以尝试以下方法:

  preg_match("^(?:\w+,)*\w+$", $input)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接