记事本++正则表达式基于字符位置



例如,假设我有这些行

Example123 23 456 45 - car - bus
Example34 2123 - school
Example67 today - truck - Train

我想只删除位于"第一个"(-)之前的表达式。 如何将角色位置与正则表达式匹配?

以下内容将匹配一行中第一个-之前的所有内容:

^.*?(?=-)

雷伊

这通过匹配行的开头,然后匹配任何字符 0 或更多次,直到它看到"-"字符,但不将其包含在匹配中,因为它是向前看(?=-)

  • 例子123 23 456 45 - 汽车 - 总线 => - 汽车 - 公共汽车
  • 例子34 2123 - 学校 => - 学校
  • 例子67 今天 - 卡车 - 火车 => - 卡车 - 火车

如果您不想包含破折号和空格,请将其更改为:

^.*?-s*

此外,您可能必须选中matches newline作为在记事本++中工作的选项^以便与行首匹配。

最新更新