2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
這個(gè)表達(dá)式可能只是工作:
^[LMR]*$
測(cè)試
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
? ? public static void main (String[] args) throws java.lang.Exception
? ? {
? ? ? ? final String regex = "^[LMR]*$";
? ? ? ? final String string = "MMMRMMMRMMLLMMK\n"
? ? ? ? ? ? ?+ "MMMRMMMRMMLLMM\n"
? ? ? ? ? ? ?+ "L\n"
? ? ? ? ? ? ?+ "M\n"
? ? ? ? ? ? ?+ "R\n";
? ? ? ? final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
? ? ? ? final Matcher matcher = pattern.matcher(string);
? ? ? ? while (matcher.find()) {
? ? ? ? ? ? System.out.println("Full match: " + matcher.group(0));
? ? ? ? ? ? for (int i = 1; i <= matcher.groupCount(); i++) {
? ? ? ? ? ? ? ? System.out.println("Group " + i + ": " + matcher.group(i));
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
我更愿意在這里使用String#matches簡(jiǎn)單的模式[LMR]*:
String input = "MMMRMMMRMMLLMM";
if (input.matches("[LMR]*")) {
System.out.println("MATCH");
}
else {
System.out.println("NO MATCH");
}
請(qǐng)注意,String#match默認(rèn)情況下假定圍繞模式開(kāi)始和結(jié)束錨點(diǎn),因此我們甚至不需要提供^and $。
添加回答
舉報(bào)