模式匹配问题与撇号

时间:2011-04-05 03:29:22

标签: php regex

我有一个我想要修改的表达式。这个表达式大部分都是我想要的,但是,我还需要匹配不区分大小写。

我匹配人名和商家名。因此,以下内容应该匹配,目前不匹配:

蒂姆的baKeRY

这是表达式

#^[A-Z][a-z]+[ -][A-Z](\')?(?(1)[A-Z])[a-z]+$#


修改

感谢Gustav,我将我的表达编辑为: #^[a-zA-Z]+[ -][a-zA-Z](\')?(?(1)[a-zA-Z])[a-z]+$#

这给了我不区分大小写,这是我需要的一部分,但我还需要匹配像tim's bakery

这样的东西

1 个答案:

答案 0 :(得分:3)

您可以在PHP中执行/.../i以匹配不区分大小写。如果你想纠正你所拥有的东西,你需要注意[A-Z][a-z]+将匹配一个首字母大写字母,然后是其他小写字母。如果您想要同时匹配两者,则需要执行[A-Za-z]+

希望有所帮助!