正则表达式-删除statusCode

时间:2018-11-04 20:16:22

标签: regex

你好,我想输入一个字符串。模式是

{statusCode="200"} 711.689923094129 1541361264000

我想剥离所有内容,只提供实际的状态码,所以200

"(.*?)"

我原本以为这样可以,但是我没有看到任何结果。

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

不确定如何将正则表达式与字符串“匹配”,但是如果您使用的是Java或c#本机库,则默认情况下,正则表达式必须匹配整个输入字符串。

例如使用Java ...

Pattern.matches("a", "bab"); //False
Pattern.matches(".*a.*", "bab"); //True

"(.*?)"与输入字符串{statusCode="200"} 711.689923094129 1541361264000不匹配。实际上,在第一次字符检查之后,它实际上将失败,因为输入字符串不是以"开头,但是正则表达式表示必须。

因此,您必须修改正则表达式以匹配整个输入字符串。

如果您知道输入字符串将始终具有相同的格式,则可以利用它来发挥自己的优势。我建议使用此正则表达式。 {statusCode=(".*?").*

如果您确信在此输入字符串中总是只有2个双引号,那么我想您可以摆脱.*"(.*?)".*(不要以为?是必需的,因为您知道只有两个引号)。