我有一些非常长的文本字符串,其中前 30 个字符都是相同的,但后面的字符都是随机的,除了最后一个字符始终是“>”。如何使用 RegEx 搜索所有这些字符串?
即在下面的例子中这里有很多垃圾文字以前导和尾随星号显示的字符串基本上是任何标准可打印字符,但尾随 > 除外。当找到 > 字符时,它就是我要搜索的字符串的最后一个字符。
<?php if(!isset($GLOBALS["\x61***Lots of Garbage Text Here***>
答案1
为了:
<?php if(!isset($GLOBALS["\x61***Lots of Garbage Text Here***>
正则表达式是:
^\<\?php if\(\!isset\(\$GLOBALS\[\"\\x61([^\>]*)\>
上面的各种反斜杠转义每个特殊字符。
(并非所有这些字符都需要转义,但转义它们并没有什么坏处)。
这关键部分是:([^\>]*)
翻译如下:
匹配任意字符不是 >
,任意次数。