php如何为以下字符串创建正则表达式

php如何为以下字符串创建正则表达式,php,Php,我有以下文本格式,我想为preg_replace创建一个正则表达式。我想为下面的文本创建一个模式,它的开头是MySQL,结尾是key*/ 我需要正则表达式将100个文件中的这部分替换为以下文本 我尝试了以下方法,但似乎错了 $st = get_file_content(file1.sql); $string = preg_replace("@^-- MySQL.*KEYS \*\/;$@","",$st); -- MySQL dump 10.13 Distrib 5.1.70, for un

我有以下文本格式,我想为preg_replace创建一个正则表达式。我想为下面的文本创建一个模式,它的开头是MySQL,结尾是key*/

我需要正则表达式将100个文件中的这部分替换为以下文本

我尝试了以下方法,但似乎错了

$st = get_file_content(file1.sql);
$string = preg_replace("@^-- MySQL.*KEYS \*\/;$@","",$st);

-- MySQL dump 10.13  Distrib 5.1.70, for unknown-linux-gnu (x86_64)
--
-- Host: localhost    Database: phoneinf_phonedb
-- ------------------------------------------------------
-- Server version   5.1.70-cll

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tbl_phonecomment`
--

DROP TABLE IF EXISTS `tbl_phonecomment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tbl_phonecomment` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `phonenumber` varchar(20) NOT NULL,
  `name` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `comment` text NOT NULL,
  `dateposted` int(11) NOT NULL,
  `area` varchar(4) NOT NULL,
  `prefix` varchar(4) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `phonenumber` (`phonenumber`),
  KEY `area` (`area`,`prefix`)
) ENGINE=MyISAM AUTO_INCREMENT=38410310 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tbl_phonecomment`
--
-- WHERE:  1 limit 6574790,50000

LOCK TABLES `tbl_phonecomment` WRITE;
/*!40000 ALTER TABLE `tbl_phonecomment` DISABLE KEYS */;
@-MySQL.*密钥\*/@

看起来有些角色被StackOverflow吃掉了。我想现在该解决了。

试试这个

/^-- MySQL\..*KEYS */;$/

但是,最好使用您正在使用的任何编程语言的字符串操作功能来切掉字符串的前四个和后三个字符,并检查它们是否是您想要的。

询问代码的问题必须表明您对所解决问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果。另请参见:为什么需要正则表达式?这不是整个字符串吗?显示您拥有的triedI无法执行str_replace操作的内容,因为在我要替换的其他文件中,有一部分不是常量。。