RegEx:(^.*?)\s+(.*)
搜索文字:Director ANURADHA GUPTA
替换:$1 - $2
我期待:Director - ANURADHA GUPTA
但我得到:Director ANURADHA GUPTA - Director
我想将第一个单词分成第一个单词,将第二个单词分成另一个单词组。
更新:
对不起混淆的人。我正在使用java reg ex:。这是一个Groovy脚本,解释了我想要做的事情
import java.util.regex.Pattern
def pattern = Pattern.compile("(^.*?)\\s(.*)");
def matcher = pattern.matcher("Director ANURADHA GUPTA");
if(matcher.matches()){
println matcher.group(1);
println matcher.group(2);
}
Output
Director
ANURADHA GUPTA
这个有效!我试图测试reg ex tester chrome插件:
https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib?hl=en
假设它在那里工作,它也应该在java中工作。它在插件上的东西不起作用。
答案 0 :(得分:1)
效率更高的是将\s+
替换为" - "
。
参见演示 here 。
答案 1 :(得分:-1)
确保您在第一组中仅使用一个单词进行拆分的另一种方法是:
^(\w+)
已替换为$1 -
最初的问题一定是你在整个正则表达式中占了一席之地,成为第一个捕获组。