目前,我的正则表达式:
\*\*(.+?)\*\*
返回
***400 FAVES! Thank you so much for your love and support!**
当我投入时
[size=16]***400 FAVES! Thank you so much for your love and support!***[/size]
请注意,最后省略了额外的*。
有人可以告诉我为什么会发生这种情况以及最佳解决方案是什么?
答案 0 :(得分:2)
如果您确定捕获字符串在开头和结尾包含3颗星,那么在这种情况下您可以使用\*{3}(.+?)\*{3}
。否则,像\*(.+)\*
这样的贪婪表达应该有效,只要在结尾和开头有一颗星。
输出:***400 FAVES! Thank you so much for your love and support!***
在你的情况下它最后返回2颗星的原因是正则表达式的非贪婪(.+?)
部分尽可能少地匹配。
答案 1 :(得分:1)