PHP兼容的正则表达式,以获取刻度之间的所有内容

时间:2014-05-02 02:09:44

标签: php regex

我正试图从以下短语中抓取BaseItemCode

FOREIGN KEY (`BaseItemCode`) REFERENCES `BaseItems`

这是我目前所拥有的,但我不知道如何排除字符''','('和')'

(?<=FOREIGN KEY)\s+\K(\(`[A-Za-z0-9]+`\))

它抓取(`BaseItemCode`)


根据Marty的评论,这给了我:

(?<=FOREIGN KEY)\s+\K\(`([A-Za-z0-9]+)`\)

在组2中检索'BaseItemCode'。


啊!我还有一步,下面抓住了我需要的东西:

(?<=FOREIGN KEY \(`)[A-Za-z0-9]+(?=`\))

1 个答案:

答案 0 :(得分:4)

将您的正则表达式修改为:

(?<=FOREIGN KEY)\s+\K(\(`([A-Za-z0-9]+)`\))

第2组将包含BaseItemCode

如果您只想匹配BaseItemCode而不使用群组,请使用此正则表达式:

(?<=FOREIGN KEY\s\(`)\w+(?=`\))