你好,我想输入一个字符串。模式是
{statusCode="200"} 711.689923094129 1541361264000
我想剥离所有内容,只提供实际的状态码,所以200
"(.*?)"
我原本以为这样可以,但是我没有看到任何结果。
有什么建议吗?
答案 0 :(得分:-1)
不确定如何将正则表达式与字符串“匹配”,但是如果您使用的是Java或c#本机库,则默认情况下,正则表达式必须匹配整个输入字符串。
例如使用Java ...
Pattern.matches("a", "bab"); //False
Pattern.matches(".*a.*", "bab"); //True
"(.*?)"
与输入字符串{statusCode="200"} 711.689923094129 1541361264000
不匹配。实际上,在第一次字符检查之后,它实际上将失败,因为输入字符串不是以"
开头,但是正则表达式表示必须。
因此,您必须修改正则表达式以匹配整个输入字符串。
如果您知道输入字符串将始终具有相同的格式,则可以利用它来发挥自己的优势。我建议使用此正则表达式。 {statusCode=(".*?").*
如果您确信在此输入字符串中总是只有2个双引号,那么我想您可以摆脱.*"(.*?)".*
(不要以为?
是必需的,因为您知道只有两个引号)。