在行的开头拆分字符串

时间:2011-03-21 15:04:58

标签: java regex

我有一个文本,我想在你遇到“WORD”时分开 一行的开头,后面没有字符。我用了 text.split(“WORD”),只是它不好,因为例如%hi hi WORD不应该与split方法匹配,现在它匹配。 我尝试使用“^ WORD”,但只在整个文本的开头匹配WORD。

任何想法我该怎么做? 顺便说一句,如果重要的话,我会使用java

3 个答案:

答案 0 :(得分:5)

使用multiline modifier(与Pattern.MULTILINE标志具有相同效果的正则表达式模式):

text.split("(?m)^WORD");

它会在字符串“”的开头将<{1}}的含义从“更改为

答案 1 :(得分:0)

如Tomalak所述,请使用多线修改器。如果你想保留WORD本身,你也可以这样做:

Pattern p = Pattern.compile("(^WORD .*$)", Pattern.MULTILINE);
String input = "WORD something. And WORD not at beginning.\nWORD something.";
Matcher m = p.matcher(input);
while (m.find()) {
   System.out.println(m.group());
}

答案 2 :(得分:0)

在一行的开头遇到“WORD”并且后面没有字符。

text.split("(?mis)^WORD(?!.)");