正则表达式获取两个单词之间的所有内容

Regex Get Everything Between 2 Words

我需要在文本中找到最后一个匹配词“Madhuparna”,并获取文本中左侧近匹配标记 html 到最后一个标记 html 之间的文本。

Madhuparna

<p>The entire purpose speed up the process.</p><p>June 5, 2021 By Demo</p>\r\n<p>The entire purpose of a terminal emulator is to imitate how the regular computer terminals perform</p><p>Allowing the main computer to connect Madhuparna to and use a remote computer</p><li>bla bla bla bla bla bla</li>

<p>Allowing the main computer to connect Madhuparna to and use a remote computer</p><li>bla bla bla bla bla bla</li>

/<(\S+)(>| .*?>)[^<>]*Madhuparna[^<>]*<\/>/g

您可以使用

(?s)<\w+(?:\s[^>]*)?>[^<>]*Madhuparna.*</\w+>

regex demo详情:

  • (?s) - 内联 singleline 标志
  • < - < 字符
  • \w+ - 一个或多个单词字符
  • (?:\s[^>]*)? - 可选出现一个空格,然后 >
  • 以外的零个或多个字符
  • > - 一个 > 字符
  • [^<>]* - <>
  • 以外的零个或多个字符
  • Madhuparna - 子串
  • .* - 任意零个或多个字符,尽可能多
  • </\w+> - </ 字符串,任何一个或多个字符,>.