我有一个文本,我想在你遇到“WORD”时分开 一行的开头,后面没有字符。我用了 text.split(“WORD”),只是它不好,因为例如%hi hi WORD不应该与split方法匹配,现在它匹配。 我尝试使用“^ WORD”,但只在整个文本的开头匹配WORD。
任何想法我该怎么做? 顺便说一句,如果重要的话,我会使用java
答案 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(?!.)");