Skip to main content

Posts

正则表达式的懒惰模式

 使用惰性匹配查找字符 在正则表达式中,贪心匹配会找到符合正则表达式模式的字符串中最长的可能部分,并将其作为匹配项返回。另一种方法称为惰性匹配,它找到满足正则表达式模式的字符串的最小可能部分。 您可以将正则表达式 /t[a-z]*i/ 应用于字符串“titanic”。这个正则表达式基本上是一个以 t 开头,以 i 结尾,中间有一些字母的模式。 正则表达式默认是贪婪的,所以匹配会返回 ["titani"]。它找到可能适合该模式的最大子字符串。 但是,您可以使用 ?字符将其更改为惰性匹配。与调整后的 /t[a-z]*?i/ 正则表达式匹配的 "titanic" 返回 ["ti"]。 注意:应该避免使用正则表达式解析 HTML,但是用正则表达式匹配 HTML 字符串是完全可以的。 问题:修复正则表达式 /<.*>/ 以返回 HTML 标记 <h1> 而不是文本“<h1>Winter iscoming</h1>”。记住通配符。在正则表达式中匹配任何字符。 let   text  =  "<h1>Winter is coming</h1>" ; let   myRegex  =  /<.*?>/ g ;  // Change this line let   result  =  text . match ( myRegex ); console . log ( result );

正则表达式中的非字符^

 匹配未指定的单个字符 到目前为止,您已经创建了一组要匹配的字符,但您也可以创建一组不想匹配的字符。 这些类型的字符集称为否定字符集。 要创建否定字符集,请在左括号之后和不想匹配的字符之前放置一个脱字符 (^)。 例如,/[^aeiou]/gi 匹配所有不是元音的字符。 请注意,像 .、!、[、@、/ 和空格这样的字符是匹配的 - 否定元音字符集仅排除元音字符。 创建一个匹配所有非数字或元音字符的正则表达式。 请记住在正则表达式中包含适当的标志。 题目: 创建一个匹配所有非数字或元音字符的正则表达式。 请记住在正则表达式中包含适当的标志。 代码如下: let   quoteSample  =  "3 blind mice." ; let   myRegex  =  /[^aeiou0-9]/ gi ;  // Change this line let   result  = quoteSample . match ( myRegex );  // Change this line console . log ( result );

正则表达式中的flag

 题目:Using the regex starRegex, find and extract both Twinkle words from the string twinkleStar. let   twinkleStar  =  "Twinkle, twinkle, little star" ; let   starRegex  =  /Twinkle/ ig ;  // 多个flag,i表示ignorance,g表示global let   result  =  twinkleStar . match ( starRegex ); 

ES6用 then 处理一个已实现的 Promise

题目要求: 将 then 方法添加到您的承诺中。 使用 result 作为其回调函数的参数,并将结果记录到控制台。 解决的代码如下: const   makeServerRequest  =  new   Promise (( resolve ,  reject ) => {    // responseFromServer is set to true to represent a successful response from a server    let   responseFromServer  =  true ;         if ( responseFromServer ) {      resolve ( "We got the data" );   }  else  {        reject ( "Data not received" );   } }) makeServerRequest . then (   ( result )=>{      console . log ( result );   } ); 要求增加异常处理,代码如下: makeServerRequest . catch (  ( error )=>  {     console . log ( error );  }  );

ES6的Template Literals。

  const   result  = {    success : [ "max-length" ,  "no-amd" ,  "prefer-arrow-functions" ],    failure : [ "no-var" ,  "var-on-top" ,  "linebreak" ],    skipped : [ "no-extra-semi" ,  "no-dup-keys" ] }; function   makeList ( arr ) {    // Only change code below this line    const   failureItems  = [];    for  ( let   i = 0 ; i < arr . length ; i ++)   {      failureItems . push ( `<li class="text-warning"> ${ arr [ i ]} </li>` );   }       // Only change code above this line    return   failureItems ; } const   failuresList  =  makeList ( result . failure ); console . log ( failuresList ); `和 ${都是必不可少的。 Template Literals。