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

时间:2012-03-14 21:46:16

标签: php regex

我有一个* .txt文件,其中包含不必要的字符串:

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

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

你最好的选择是正则表达。

//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或更多短划线的行。 / p>

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

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

Line of text
Another line of text
Last line of text

答案 1 :(得分:1)

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

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

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

最后,我建议将this tool用于正则表达世界的新人,它有助于可视化和理解正则表达式如何与您的内容一起使用。