我需要检查只有 3 个 | 的字符串。如果多于 3 或少于 3 则不应通过。
例如,
请帮助我获取正则表达式。
您应该使用正则表达式:
"^[^|]*\\|[^|]*\\|[^|]*\\|[^|]*$"
import java.util.regex.Pattern;
public class PipeChecker {
public static void main(String[] args) {
String regex = "^[^|]*\\|[^|]*\\|[^|]*\\|[^|]*$";
Pattern pattern = Pattern.compile(regex);
String[] testStrings = {
"a|b|c|d", // Pass
"a|b|c", // Fail
"a|b|c|d|e" // Fail
};
for (String str : testStrings) {
if (pattern.matcher(str).matches()) {
System.out.println("'" + str + "' -> Pass");
} else {
System.out.println("'" + str + "' -> Fail");
}
}
}
}