我有一个字符串
1372110902.747405 29245 verbose [paymentserv]: === AUTH: ExternalFundingAnalysisStage was successful (rc:0) ===
我只想
AUTH: ExternalFundingAnalysisStage was successful (rc:0)
使用正则表达式。请帮我解决问题。
提前致谢
我有一个字符串
1372110902.747405 29245 verbose [paymentserv]: === AUTH: ExternalFundingAnalysisStage was successful (rc:0) ===
我只想
AUTH: ExternalFundingAnalysisStage was successful (rc:0)
使用正则表达式。请帮我解决问题。
提前致谢
由于您没有指定使用正则表达式的语言,因此任何语言都可能是有效的响应。因此,在 Perl 中,您可以使用替换:
s/.*=== (.*) ===.*/$1/;
或比赛:
m/=== (.*) ===/;
匹配后,$1
将包含您要查找的字符串。
替换中的.*
第二个之后===
的输入样本行是不必要的,但与.*
正则表达式开头的 对称,对称性令人愉悦。它保护替代命令免受尾随碎片的影响;比赛不需要保护。
使用 PHP:
$var = "1372110902.747405 29245 verbose [paymentserv]: === AUTH: ExternalFundingAnalysisStage was successful (rc:0) ===";
$var = preg_replace("@.*===([^=]+)===.*@i",$1,$var);
为此,您还可以使用 java regex 了解详细信息,请按照本教程进行操作,在您的情况下,您也可以使用 sub-string 。
喜欢:
String str ="1372110902.747405 29245 verbose [paymentserv]: === AUTH: ExternalFundingAnalysisStage was successful (rc:0) ===";
String str1=str.subString(58,106);
Stirng str2=str.replace("(","");
然后你得到你需要的答案
如果它总是沿着相同的路线(以 AUTH 开头,以 (rc:#) 结尾):
//JavaScript
var str = "1372110902.747405 29245 verbose [paymentserv]: === AUTH: ExternalFundingAnalysisStage was successful (rc:0) ===";
str = str.slice(str.indexOf("AUTH"), str.lastIndexOf(")")+1);
或使用正则表达式:
str = str.replace(/^.+={3}\s(.+)\s={3}$/,"$1");