2012-04-13 343 views
0

我需要重新格式化文本文件有点在我的记事本+ +,我有这样的文字:正则表达式(正则表达式)

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

因此,大家可以看到上面的文字有两种类型的“ - ”上文和下文的一个与后面的空格“ - ”和那些没有它,我需要找到只有那些没有sapce,并将其添加在之间的“ - ”和“文本”

如果我跑的一段代码下面

- [A-ZA-Z0-9]

它找到破折号和第一个字母之后是正确的,这没有用,因为当我更换文字时,它改变了这首始终不同的首字母(取决于我的意思所以我需要找到它并只选择“ - ”,然后用“ - ”替换它,除非有更好的方法。

回答

1

出于演示的目的:

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

括号表示一个俘获基团。在替换为一行,则使用反斜线和组号来添加它。

也就是说,你真正想要匹配的是一个NOT组,比如-([^\s])(匹配的地方没有紧接着一个空格)。

+0

非常感谢,它完美无瑕! – 2012-04-13 22:01:03

1

搜索

-([^ ]) 

,代之以

- \1 

[^ ]是一个否定的字符类匹配的一切,但一个空间。由于围绕模式的括号(),此字符存储在\1中。

+0

这种方法也很好,所以也谢谢:)),你们真棒! – 2012-04-13 22:01:40