如何匹配特定格式的字符串?

时间:2015-08-13 00:30:22

标签: java regex string

我需要检查我的字符串是否遵循特定模式。我的字符串将始终以text_data_开头,然后是一个数字,如下所示

text_data_123
text_data_124
text_data_126
text_data_127
text_data_128

现在我如何检查我得到的字符串是否采用以上格式:

String value = getData();

// but this doesn't work?
if(value.matches("text_data(?<=_)\\d+")) {
    // found a match
}

我在做什么错?

3 个答案:

答案 0 :(得分:3)

lookbehind并未声明紧接当前位置之前的内容是_

您不需要为此使用lookbehind。

if(value.matches("text_data_\\d+")) { ... }

答案 1 :(得分:0)

在String Class中使用'startsWith(String prefix)'方法。

if (value.startsWith("text_data_")) {
    // found a match
}

答案 2 :(得分:0)

您可以使用:

如果(value.contains(&#34; text_data _&#34)){ }

但我建议使用梦想猫的解决方案。