我需要检查我的字符串是否遵循特定模式。我的字符串将始终以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
}
我在做什么错?
答案 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)){ }
但我建议使用梦想猫的解决方案。