RegEx 查找以下集合中不存在的所有匹配项

RegEx find all matches not present in the following set

如何对特定匹配项中不存在的点符号执行正则表达式替换(例如在图像 HTML 标记中)

str = "Hi. the symbol before me is my match target <img src='http://skip.these.dots/and.this.as.well' alt='me.three' /> but still match this."

替换为(例如)*符号

res = "Hi* the symbol before me is my match target <img src='http://skip.these.dots/and.this.as.well' alt='me.three' /> but still match this*"

试试这个:

\.(?![^<]*\/>)

Demo

正则表达式引擎执行以下操作。

\.      # match period
(?!     # begin negative lookahead
  [^<]* # match 0+ chars other than '<'
  \/>   # match '/>'
)

如果在周期后遇到 /> 而没有任何干预 <,则否定前瞻失败,这意味着周期必须在 </> 之间。

您希望用 * 替换句点的每个匹配项。你如何做到这一点取决于你使用的语言,但它无疑是直截了当的。