拆分包含单词的文本

时间:2015-10-28 23:48:55

标签: c# regex

我试图在段落中分割文字。拆分应该在包含以下单词INT的每一行的开头发生。 | EXT。 |。I / E

这是我使用的表达式:

string[] res = Regex.Split(text, "(?=^.+?INT[.]|^.+?EXT[.]|^.+?I/E[.])"RegexOptions.Multiline);

它的效果相当不错,但当一行包含PRINT等字时,它也会生成一个新段落。或者TEXT。

如何修改REGEX表达式以使其符合确切的单词INT。 EXT。 I / E。 ?我试过了

"(?=^.+?\bINT[.]\b|^.+?\bEXT[.]\b|^.+?\bI/E[.]\b)"

但这不起作用。我有什么想法可以使一个确切的单词匹配?

1 个答案:

答案 0 :(得分:0)

在C#中,你需要使用逐字字符串文字来声明regexp,否则你可能遇到麻烦,比如这里你有git clone <git-url> /new/repo/copy cd /my/local/copy tar cf - . | ( cd /new/repo/copy ; tar xf - ) git diff 作为退格而不是单词边界。

使用

\b

或签约:

@"(?=^.+?\bINT[.]|^.+?\bEXT[.]|^.+?\bI/E[.])"
^                ^            ^            ^

请注意,我在文字句点之后删除了@"(?=^.+?\b(?:INT|EXT|I/E)[.])" 个单词边界,因为这些单词边界在句点之后需要一个单词字符。我想你不需要那个。