我的字符串中有下划线的块。例如:
*Text* _word_ it is something we read every day. _Words in texts_ can be really expressive. _A nice text is a pleasure for your body and soul_ (Oscar Wilde)
在上面的示例中,有三个这样的块,但数字因字符串而异。我想只匹配最后一个,即从行尾开始懒洋洋地跳过字符直到找到第一个_,跳过任何后面的字符,直到遇到第二个_并在那里停止。
如果我们在字符串中查找第一个块,很容易找到类似的块,但是如何找到 last 一个?
答案 0 :(得分:5)
尝试使用:
((?:_[^_\r\n]*){2})$
它匹配下划线,后跟任何数字的任何不是下划线或换行符的字符,所有这些都在留置权结束之前发生两次。
答案 1 :(得分:2)
第二个_和字符串结尾之间的文字应匹配
使用否定的字符类,例如
([^.]*$)
它将匹配字符串末尾的所有内容,而不是.
,从而产生最后一个引号(假设每个引号以.
结尾)