私は私のMOVEを返す開始し奇妙な行動
String myStr = " MOVE ELSE MOVE EXT-LNGSHRT-AMT-C TO WK-UNSIGNED-LNGSHRT-AMT COMPUTE WK-SHORT-AMT = EXT-LNGSHRT-AMT-C * -1.";
JavaのようなものにmyStr変更する場合
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String myStr = " ELSE MOVE EXT-LNGSHRT-AMT-C TO WK-UNSIGNED-LNGSHRT-AMT COMPUTE WK-SHORT-AMT = EXT-LNGSHRT-AMT-C * -1.";
String verbsRegex = "\\s+(ACCEPT|ADD|ALTER|CALL|CANCEL|CLOSE|COMPUTE|DELETE|DISPLAY|DIVIDE|ELSE|EXIT|EVALUATE|EXEC|GO|GOBACK|IF|INITIALIZE|INSPECT|INVOKE|MERGE|MOVE|MULTIPLY|OPEN|PERFORM|READ|RELEASE|RETURN|REWRITE|SEARCH|SET|SORT|START|STOP|STRING|SUBTRACT|UNSTRING|WRITE|COPY|CONTINUE|WHEN)\\s+";
Pattern p = Pattern.compile(verbsRegex);
Matcher m = p.matcher(myStr);
System.out.println("------------------------------------");
while (m.find()) {
System.out.println(myStr.substring(m.start(),m.end()));
System.out.println("("+ m.group(1) + ")");
}
System.out.println("------------------------------------");
}
}
変数myStr内の文字列「MOVE」存在を見つけることができませんコードを次に示します。しかし、この場合、ELSEは逃してしまいます!
この動作についての説明は何ですか?私はここで何かを見逃していますか?
ありがとうございます。
"MOVE"や "ELSE"のようなテキストでしか動作しませんが、ELSEの前にはELSEがないために、 "空白文字の後に続く空白文字が続き、空白が多くなります"空白。 – gtgaxiola
あなたはいつも同じグループを印刷しています... – pedromss