我正在检查函数中字符串的优先级.有没有办法改变我的代码以合并正则表达式 - 我对正则表达式很不熟悉,虽然我已经在线阅读了一些教程,但仍然没有得到'它'太好了.所以任何指导都会非常感激.
例如,在字符串XLYZ中,如果X之后的字符不是L或C,则会打印"违规"语句.这是下面的代码:
if (subtnString[cnt]=='X' && cnt+1<subtnString.length){
if(subtnString[cnt+1]!= 'L' || subtnString[cnt+1]!= 'C'){
System.out.println("Violation: X can be subtracted from L and C only");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用正则表达式来替换这段代码?
你可以使用这样的东西:
Pattern regex = Pattern.compile("^X[LC]");
Matcher regexMatcher = regex.matcher(subjectString);
if(regexMatcher.find() ) { // it matched!
}
else { // nasty message
}
Run Code Online (Sandbox Code Playgroud)
在演示中,查看匹配的字符串.
说明
^
锚断言,我们是在字符串的开头X
匹配文字 X
[LC]
是一个匹配一个L
或一个的字符类C
参考
归档时间: |
|
查看次数: |
63 次 |
最近记录: |