我有一系列代码,我需要能够快速找到几个不同的文件。它的格式为:
<?php
//{{56541616
其中8位数字可以是任何数字和字母序列。我想使用正则表达式来定位代码,但我还是他们的新手,这很复杂,它让我失望。这是我为正则表达式提出的,但它似乎不起作用。
"<\?/php/n//\{\{[:alnum:]{8}"
关于我做错了什么/实际正则表达式应该是什么的任何建议?
更新:我无法得到任何答案来做我想要的事情。要为我正在尝试的内容添加更多解释,我需要从几个文件中删除一段代码,上面的序列是需要删除的代码的开头。然后结束是类似的:
//}}18420732
?>
再次,8位代码可以是任何数字+字母序列。我正在尝试使用awk和
/<string1>/,/<string2>/
找到两者之间的行范围。因此,例如使用给出的答案之一+我对第二行的解释,我将其放入命令行:
awk {/<\?php\n\/\/\{\{([:alnum:]{8})/,/\/\/\}\}([:alnum:]{8})\n\?/} index.php
我收到了这个回复:
-bash: syntax error near unexpected token `('
这是我尝试+结果的另一个例子。
awk /<\?php\n\/\/\{\{[:alnum:]{8}/,/\/\/\}\}[:alnum:]{8}\n\?>/ index.php
-bash: ?phpn//{{[:alnum:]{8}/,///}}[:alnum:]{8}n?/: No such file or directory
有什么建议吗?
答案 0 :(得分:2)
试一试:
/<\?php\s*\/{2}\{\{(\w{8})/i
答案 1 :(得分:1)
您的正则表达式:
“&lt; \?/ php / n // \ {\ {[alnum:] {8}”
出了什么问题:
解决方案:
答案 2 :(得分:0)
这样的事情:
<\?php\s\/\/\{\{[0-9]{8}