我对Java正则表达式很不好,所以我希望你们能帮助我。
String variable = "My life is better ";
String variable2 = "My life01 is better";
现在我必须编写一个代码,如果字符串只有“life”,它将返回 true
所以我应该只对变量而不是变量2设置TRUE,因为它有生命但也有“01”。
~谢谢。
我已经尝试过
if (variable.contains("life")){
System.out.println("TRUE");}
两者都返回 TRUE。
查看解决方案:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Pattern p = Pattern.compile("\\blife\\b");
Matcher m = p.matcher("life0 is better");
boolean b = m.find();
System.out.println(b);
}
}
最佳答案
使用单词边界 \b
匹配。
参见 Java Pattern有关详细信息的文档。
请注意,您可能需要将其写入 \\b
才能正确转义。该模式需要字符串 \b
,当在 .java
代码中使用时(并且不是从文件中读取!),需要以 Java 转义形式编写为 “\\blife\\b”
。
关于Java字正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343160/