正则表达式(正则表达式)

时间:2012-04-13 20:04:45

标签: regex notepad++

我需要在Notepad ++中重新格式化一个文本文件,我有一个这样的文本:

  

这是一些示例文字。这是一些示例文本。这是一些示例文本    - 这是一些示例文本    - 这是一些示例文本    - 这是一些示例文本    - 这是一些示例文本。

正如你在上面的文字中看到的那样,“ - ”之前有两种类型的“ - ”,带有“ - ”之后的空格和没有它的那些我需要只找到没有sapce的那些并将它们添加到“ - ”之间。 “和”文字“

如果我在下面运行一段代码

- [A-ZA-Z0-9]

它在它之后找到破折号和第一个字母,这没有用,因为当我替换文本时它会改变这个总是不同的第一个字母(取决于写的内容)所以我需要找到它并且只选择“ - “然后用” - “替换它,除非有更好的方法。

2 个答案:

答案 0 :(得分:1)

出于演示目的:

Find what: -([A-Za-z0-9])(.+)
Replace with: - \1\2

括号表示捕获组。在替换为行中,使用反斜杠和要添加的组数。

那就是说,你真正想要匹配的是一个NOT组,比如-([^\s])(匹配,其中一个破折号不会立即跟一个空格)。

答案 1 :(得分:1)

搜索

-([^ ])

并替换为

- \1

[^ ]是一个否定的字符类,它匹配除空格之外的所有内容。由于模式周围的括号\1,此字符存储在()中。