如何正则表达式匹配文本中的字符串?

时间:2016-06-08 15:41:06

标签: php regex

我尝试通过匹配regexr.com中的文本中的此字符串来学习正则表达式,并希望回显输出。目前,我只能匹配协议httphttps。这是我想要匹配的字符串:

  

https://s04.solidfilesusercontent.com/NGU0MGIwZTg1MDU0MjI5YzE3YzM3NDQ4ZWJhNjVhN2Y3ZGVmN2EwNDoxYkFmRkY6ODZvb29qRG8tdFluMXl2TU1hR1dBN19ockt3/v8grz2RpkMkWd/As_The_Gods_Will_%282014%29-1.mp4

这就是文字

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-7136426241719979"
     data-ad-slot="9347712042"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</center>
        </div>
            <div id="report">
                <ol class="list-group" id="link">
                                        <li class="list-group-item"><a href="#" class="btn" onclick=" $(this).closest(\'li\').remove();"><span class="glyphicon glyphicon-remove"></span></a><a target='blank' href='https://s04.solidfilesusercontent.com/NGU0MGIwZTg1MDU0MjI5YzE3YzM3NDQ4ZWJhNjVhN2Y3ZGVmN2EwNDoxYkFmRkY6ODZvb29qRG8tdFluMXl2TU1hR1dBN19ockt3/v8grz2RpkMkWd/As_The_Gods_Will_%282014%29-1.mp4'>https://s04.solidfilesusercontent.com/NGU0MGIwZTg1MDU0MjI5YzE3YzM3NDQ4ZWJhNjVhN2Y3ZGVmN2EwNDoxYkFmRkY6ODZvb29qRG8tdFluMXl2TU1hR1dBN19ockt3/v8grz2RpkMkWd/As_The_Gods_Will_%282014%29-1.mp4</a></li>

                </ol>       
            </div>
        </div>
        </div>
        <div class="footer">
            <div class="container">
<!-- Histats.com  START  (standard)-->
<script type="text/javascript">document.write(unescape("%3Cscript src=%27http://s10.histats.com/js15.js%27 type=%27text/javascript%27%3E%3C/script%3E"));</script>

到目前为止,我的正则表达式仍然存在

/^(http|https):\\/\\/[a-z0-9]/

1 个答案:

答案 0 :(得分:0)

我不确定你想要匹配多少。如果你想要完全匹配:

/^https:\/\/s04\.solidfilesusercontent\.com\/NGU0MGIwZTg1MDU0MjI5YzE3YzM3NDQ4ZWJhNjVhN2Y3ZGVmN2EwNDoxYkFmRkY6ODZvb29qRG8tdFluMXl2TU1hR1dBN19ockt3\/v8grz2RpkMkWd\/As_The_Gods_Will_%282014%29-1\.mp4$/

如果您只想要主持人:

/^https:\/\/s04\.solidfilesusercontent\.com\//i

(虽然我不记得PHP的方法是否需要完全匹配。如果这是真的,请以.*$结束

如果您想要基于该主机的模式:

/^https?:\/\/s[0-9]{2}\.solidfilesusercontent\.com\//i

这会将名为s01的主机与s99匹配。

如果你想匹配一些路径,比如找到MP4文件:

/\.mp4%/i

匹配更多路径:

/[\w\/+=]{32}\/\S{1,256}\.mp4$/i

(这将查找32位base64编码,然后是斜杠和以.mp4结尾的文件名)

regex101尝试这些,以根据您的需要定制它们。