我需要正则表达式来匹配从开始到遇到其中一个字符的所有内容;或[或{或(如果这些字符不在那里,那么整个单词需要匹配..
我正在使用preg_match("/(.*?)(?=(;|\[|\(|{|))/", $word , $val);
第一组应该在那里,因为我需要$ val中的匹配值。这是PHP。有人可以帮帮我吗?
答案 0 :(得分:2)
preg_match("/^([^[{(;]*)/", $word , $val);
答案 1 :(得分:0)
"/(.*?)[;\\[\\{\\($]/"
应该做到这一点并且更容易。请注意,您必须转义在正则表达式中具有特殊含义的字符。 $
匹配行/字符串的末尾(取决于参数)。
编辑: 由于只匹配一个子表达式,因此Anomie的解决方案可能会更快一点。