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

Regex 记事本++;基于字符位置的正则表达式,regex,notepad++,Regex,Notepad++,例如,假设我有这些行 Example123 23 456 45 - car - bus Example34 2123 - school Example67 today - truck - Train 我只想删除位于“first”()之前的表达式。 如何将字符位置与正则表达式匹配?以下内容将匹配行中第一个-之前的所有内容: ^.*?(?=-) 这是通过匹配行首,然后匹配任何字符0次或多次,直到它看到一个“-”字符,但不包括在匹配中,因为它是一个前瞻(?=-) 例123 23 456 45-汽

例如,假设我有这些行

Example123 23 456 45 - car - bus
Example34 2123 - school
Example67 today - truck - Train
我只想删除位于“first”()之前的表达式。
如何将字符位置与正则表达式匹配?

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

^.*?(?=-)
这是通过匹配行首,然后匹配任何字符0次或多次,直到它看到一个“-”字符,但不包括在匹配中,因为它是一个前瞻
(?=-)

  • 例123 23 456 45-汽车-公共汽车=>-汽车-公共汽车
  • 示例34 2123-学校=>-学校
  • 示例67今天-卡车-火车=>-卡车-火车
如果不希望包含破折号和空白,请将其更改为:

^.*?-\s*

另外,您可能需要检查
匹配新行
作为在记事本++中工作的选项,以便
^
匹配行的开头。

根据您的示例,您想要的是
汽车-公共汽车
学校
卡车-火车
?是的,这就是我的目标