Skip to main content

正则表达式的懒惰模式

 使用惰性匹配查找字符

在正则表达式中,贪心匹配会找到符合正则表达式模式的字符串中最长的可能部分,并将其作为匹配项返回。另一种方法称为惰性匹配,它找到满足正则表达式模式的字符串的最小可能部分。


您可以将正则表达式 /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);

Comments

Popular posts from this blog

Low risk, high reward: the asymmetric black swan trade

Cornwall Capital was founded in 2003 by two young people who were not in the mainstream - Charlie Ledley, and Gammy Mak. I say they were out of the mainstream because they were not financial professionals from a scientific background, but they were full of imagination, and a keen insight into the market. Their insight is evident in the transactions of First Capital Financial. Case Background Before betting that the subprime mortgage market would collapse, Cornwall Capital first noticed a credit card business company, First Capital Financial. Throughout the 1990s and early 2000s, First Capital Financial claimed that it had better tools than other firms for analyzing the creditworthiness of subprime credit card users and pricing the risk of lending to them, and the market bought that claim. But in July 2002, First Capital Financial's stock fell 60% in two days after the company voluntarily disclosed a disagreement between them and two government regulators: How much capital did they ...

盘点类似河北的儿童杀人案,是如何判决的

javascript Mutations

 Return true if the string in the first element of the array contains all of the letters of the string in the second element of the array. For example, ["hello", "Hello"], should return true because all of the letters in the second string are present in the first, ignoring case. The arguments ["hello", "hey"] should return false because the string hello does not contain a y. Lastly, ["Alien", "line"], should return true because all of the letters in line are present in Alien. function   mutation ( arr ) {    var   temArr  =[];    for ( let   i = 0 ; i < arr [ 1 ]. length ; i ++) //要比较的是第二个数组的,所以放在外层,内层每次都要遍历第一个数组,让第二个数组中的字符去与每一个第一个数组中的字符比较,相等就push一个true,然后马上跳出内循环   {      for  ( let   j = 0 ; j < arr [ 0 ]. length ; j ++)     {        if  ( arr [ 1 ][ i ]. toUpperCase ()== arr [ 0 ][ j ]. toUpperCase ())      ...