我想提取以//开头的所有内容,直到数字以特定文本结尾,如下所示:
// Peter F. Hamilton|Pandora's Star 200 OK数字和文本在这里,Response.status和Response.statusText。我尝试过这个正则表达式,它适用于这个特定的字符串。
\/\/.*[^200 OK]但是,status和statusText可以是多种多样的,我需要一个适用于所有情况的正则表达式。我已经在非捕获组中尝试过这个正则表达式,但它似乎不起作用。我做错了什么?
\/\/.*(?:\d+\s(OK|Not Found|Continue))发布于 2022-05-20 10:38:47
Http状态代码从1xx到5xx不等。通常,我们可以尝试以下方法:
var input = "// Peter F. Hamilton|Pandora's Star 200 OK";
var text = input.match(/(\/\/.*) [1-5][0-9]{2}( \w+)+/, input)[1];
console.log(text);
发布于 2022-05-20 10:45:03
由于您关注的是中间文本,因此可以使用以下内容:
\/\/(.*)(?:(?:\d\d\d).*)$这将在第1组中为您提供所需的文本(可能会有额外的空间,您可以修剪)。
由于http状态代码是三位数字,所以我们可以假设输入字符串中最后一次出现的三位数是状态代码开始的位置,之后的所有内容都是状态代码描述。
https://stackoverflow.com/questions/72317408
复制相似问题