预计这个正则表达式会更快结束,但忽略了限制器

时间:2018-01-10 14:31:41

标签: regex

正则表达式:
/<a href="(.*) target/gim

测试字符串:
<a href="/rss/images/" target="_blank"><img src="/themes/blooper/footer_rss.png" alt="RSS" title="RSS"></a>,<a href="https://t.me/blooper" target="_blank"><img src="/themes/blooper/footer_telegram.png?t=1" alt="Telegram" title="Telegram"></a>,<a href="https://discord.gg/lit" target="_blank"><img src="/themes/blooper/footer_discord.png?t=1" alt="Discord" title="Discord"></a>,<a href="http://blooper.media/"><img src="/themes/blooper/blooper.png" alt="blooper.media" title="blooper.media"></a>

结果:
<a href="/rss/images/" target="_blank"><img src="/themes/blooper/footer_rss.png" alt="RSS" title="RSS"></a>,<a href="https://t.me/blooper" target="_blank"><img src="/themes/blooper/footer_telegram.png?t=1" alt="Telegram" title="Telegram"></a>,<a href="https://discord.gg/lit" target

预期结果: <a href="/rss/images/" target

1 - 选择想要的字符串的正确RegExp是什么 2 - 我哪里出错了?我对发动机的工作方式有错误的假设吗?

1 个答案:

答案 0 :(得分:0)

添加?以使正则表达式变为惰性 - 这意味着它将匹配可能的最短字符串:

/<a href="(.*?) target/

在这里演示:https://regex101.com/r/5vXsxo/1