2017-10-21 64 views
-1

我有写在这样各行的名称的文件创建如果我运行正则表达式搜索[az] [az],它会返回“su bh as ch an yo ...”。 是否有regexp模式可以返回这种形式的匹配“”su ub ha as sh ch ha andnd ...“?这个正则表达式的工作方式就像长度为'2'的标记符。如果regexp是一个有效的Java 。正则表达式标记生成器长度为n的使用正则表达式

回答

1

试试这个正则表达式:

(?=([a-zA-Z]{2})) 

这会向前看的字符串,如果字符串它匹配[a-zA-Z]{2}后匹配一个空字符串,然后它把2个字符后,成团以来。引擎会检查每一个索引,这会返回你的预期结果。

你只需要得到所有的g比赛

final String regex = "(?=([a-zA-Z]{2}))"; 
final String string = "subhash chand\n" 
     + "yobie chimwanachomama\n" 
     + "riadh chaieb"; 

final Pattern pattern = Pattern.compile(regex); 
final Matcher matcher = pattern.matcher(string); 

while (matcher.find()) { 
    System.out.println(matcher.group(1)); 

} 

Try it here!

+0

你好roup1s,它返回输出“苏BH为CH的哟双通道IMはなCH OM上午里的广告CH人工智能EB”,所需的输出为“苏ub bh ha sh sh ch ha and an ...“ –

+0

为什么它不匹配'bh'? @AshishJain – Sweeper

+0

是的,请原谅错误,结果是每个连续的两个字符长度标记:“su ub bh ha as sh ch ha ha andnd” –