Php 正则表达式从文件中删除行

Php 正则表达式从文件中删除行,php,regex,Php,Regex,我有一个*.txt文件,其中包含不必要的字符串,这些字符串沿着以下行进行查看: ---------------------------[#]--------------------------- 问题仍然存在,#是任意整数。我很困惑,正在寻找一个正则表达式来找到上面的字符串 非常感谢您的帮助。您可以使用以下正则表达式: /((?:-+)\[\s\d+\s\](?:-+)/igs 表达式将捕获从0到无穷大的所有数字的表达式 最后,我建议对正则表达式领域的新手使用,它有助于可视化和理解正则表达式如何

我有一个*.txt文件,其中包含不必要的字符串,这些字符串沿着以下行进行查看:

---------------------------[#]---------------------------

问题仍然存在,
#
是任意整数。我很困惑,正在寻找一个正则表达式来找到上面的字符串


非常感谢您的帮助。

您可以使用以下正则表达式:

/((?:-+)\[\s\d+\s\](?:-+)/igs

表达式将捕获从0到无穷大的所有数字的表达式


最后,我建议对正则表达式领域的新手使用,它有助于可视化和理解正则表达式如何与内容一起工作。

您可以使用以下正则表达式:

/((?:-+)\[\s\d+\s\](?:-+)/igs

表达式将捕获从0到无穷大的所有数字的表达式


最后,我建议对正则表达式领域的新手使用,它有助于可视化和理解正则表达式如何与您的内容一起工作。

您最好选择正则表达式

//read your text file into a variable named $filecont
/\-+\[\s\d+\s\]\-+(?:\r?\n|$)/g
//write the contents of $filecont to your file
上述操作将删除以1个或多个破折号开头、后接左括号、后接空格、后接1个或多个数字、后接空格、后接右括号、后接1个或多个破折号的任何行

使用上述正则表达式将转换以下数据

----------------[ 56 ]---------------------
Line of text
------------[ 929 ]--------------------
Another line of text
-----------------------------[ 1 ]----------
Last line of text


您最好选择正则表达式

//read your text file into a variable named $filecont
/\-+\[\s\d+\s\]\-+(?:\r?\n|$)/g
//write the contents of $filecont to your file
上述操作将删除以1个或多个破折号开头、后接左括号、后接空格、后接1个或多个数字、后接空格、后接右括号、后接1个或多个破折号的任何行

使用上述正则表达式将转换以下数据

----------------[ 56 ]---------------------
Line of text
------------[ 929 ]--------------------
Another line of text
-----------------------------[ 1 ]----------
Last line of text



指定更多“像这样”。除了随机数之外,这些行的长度是否会更改?整个文件的格式为:-----------------------------------[1]-------------------------------------------------------------------------------------------------------------[ 2 ]------------------------- .... ... ... ------------------------[4]----------------------------这些行的长度不会改变。请添加一个标记,指明您使用的是哪种口味/语言。如果不是Apple/iOS/Objective-C,请删除
nsregularexpression
标记。这是指一个特定的类,而不是一般的正则表达式。完成了,tnx艾伦,我不知道。实际上,我还添加了PHP标记来指定语言。除了随机数之外,这些行的长度是否会更改?整个文件的格式为:-----------------------------------[1]-------------------------------------------------------------------------------------------------------------[ 2 ]------------------------- .... ... ... ------------------------[4]----------------------------这些行的长度不会改变。请添加一个标记,指明您使用的是哪种口味/语言。如果不是Apple/iOS/Objective-C,请删除
nsregularexpression
标记。这是指一个特定的类,而不是一般的正则表达式。完成了,tnx艾伦,我不知道。事实上,我还添加了PHP标记来指定语言。这是一个很好的答案,因为您包含了代码,但鉴于这不是一个特定的框架,用PHP连接的正则表达式并不是最好的。另外,提供一个链接或根据示例数据显示代码的结果也很好。没有注意到这与此无关。没什么好担心的,只是向新来者传递建议。ُ抱歉Bluegman991,我现在在代码方面遇到了问题,我想你已经编辑了帖子:-s我收到了这个错误:警告:preg_match()[function.preg match]:E:\EasyPHP-5.3.8.1\www\spliter.php第5行中的未知修饰符“g”。。。而实际上什么也没有发生=(@Hell Lord的“g”是告诉它匹配所有的。但是在php中,它默认匹配所有的,所以只需删除“g”。应该是这样的:
$txt=preg\u replace(“/\-+\[\s\d+\s\]\-+(?:\r?\n\$)/”,“,$txt”)这是一个很好的答案,因为您包含了代码,但鉴于这不是一个特定的框架,您在PHP中连接的正则表达式并不是最好的。此外,提供链接或根据示例数据显示代码结果也很好。Oops正在查看标记为PHP的帖子。没有注意到这与此无关。与此无关担心,只是向新来者传递建议。ُ抱歉Bluegman991,我现在在代码方面遇到了问题,我想你已经编辑了帖子:-s我收到了这个错误:警告:preg_match()[function.preg match]:E:\EasyPHP-5.3.8.1\www\spliter.php第5行中的未知修饰符“g”…并且没有发生任何意外情况=(@Hell Lord the“g”是告诉它匹配所有。但是在php中,它默认匹配所有,所以只需删除“g”。应该是这样的:
$txt=preg\u replace(“/\-+\[\s\d+\s\]\-+(?:\r?\n |$)/”,“,”,$txt);
看起来味道是PHP,所以不支持
g
修饰符。而且你没有使用
元字符,所以
s
是不相关的。看起来味道是PHP,所以不支持
g
修饰符。而且你没有使用
元字符,所以
s
是不相关的。