为什么这个正则表达式不能在PHP中工作但在.net中工作?

时间:2011-01-15 12:34:02

标签: php regex

下面是一个在.net中工作正常的正则表达式但是如果我在PHP中使用它会给我错误。

(?<=")([^"]+,[^"]+)?(?=")

这个正则表达式应该返回什么?

输入:1,"x1",43,"tr","y,7"

在这种情况下,它会返回"y,7"。一般来说,如果它之间有逗号,它将返回""之间的任何部分。

当我尝试在PHP中使用它时,我收到以下错误:

  

未知修饰符'('

请帮忙。

1 个答案:

答案 0 :(得分:2)

~(?<=")([^"]+,[^"]+)?(?=")~

对于php(preg_*函数),您需要在正则表达式本身周围指定分隔符。它可以是!/#~等。