我尝试将以下字符串中的“MY WEIGHT”匹配。我正在使用Java的String类来进行正则表达式匹配:
String line = "MY WEIGHT:200";
String s = "^(MY WEIGHT).";
line.matches(s);
但它总是返回false。然后我尝试s="MY WEIGHT"
,但它也不起作用。这有什么问题?
答案 0 :(得分:1)
两者不匹配:.
匹配单字符但line
在"MY WEIGHT"
后有4个字符 - 您的意思是.*
(至少0个字符)或.+
(至少1个字符)?
答案 1 :(得分:1)
String .match
必须将整个字符串与正则表达式匹配,而不仅仅是子字符串。这就是s="MY WEIGHT"
无效的原因。
String s =“^(MY WEIGHT)。*”;
会匹配。如果您更具体地了解自己的需求,那么构建更具体的正则表达式会更容易。