Java字正则表达式

标签 java string search expression

我对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/

相关文章:

php - 如何改进我的算法?/在格式化文本中搜索和替换单词/

search - 在 VIM 中查找第一条不匹配的行

java - 从oracle数据库导出到csv文件

java - 如何将一个字符串分解为多个变量

java - Glassfish 3.1.2 JDBCRealm 配置

c++ - 你会如何设计一个完美哈希的函数?

javascript - 数组中的元素不改变值

Ruby - 检查相交是否存在

android - Intent 中的可序列化对象以字符串形式返回

java - 如何在java中分离字符串以满足以下要求?