正则表达式负向看两个连续的空格字符

时间:2018-08-09 02:40:37

标签: regex

我正在尝试使用下面的正则表达式捕获此字符串。我在区分“ ISO国家符号”和“ ISO_country_symbol”时遇到麻烦。本质上,我要捕获“ 2”,“ ISO国家符号”和“ ISO_country_symbol”。此外,捕获“ ISO_country_symbol”的组永远不会包含任何空格。

我很感谢任何提示

正则表达式:

fetch(  info.url, {
   method: 'PUT',
   headers: {
     'Content-Type': 'image/jpeg',
     'Access-Control-Allow-Origin': '*'
   },
   body: reader.result
})

字符串:

(\#)\s+(\d+)\s+([\w\s]+(?!\s{2,}))\s+(\w+)\s+\w+

2 个答案:

答案 0 :(得分:1)

与其重复一个负前瞻性的组,不如轻松地重复 ,并且要求该组后面至少要有两个空格,这可能会更容易。也就是说,仅匹配ISO Country Symbol,您可以使用

(\w[\w\s]+?\w)\s{2,}

完整模式:

(\#)\s+(\d+)\s+(\w[\w\s]+?\w)\s{2,}(\w+)\s+\w+

https://regex101.com/r/MDUI3B/1

答案 1 :(得分:0)

使用非贪心匹配,并且至少需要两个空格。

示例(Python):

autoClick = () => {
 if (something === something) {
    var link = document.getElementById('dashboard-link');
    link.click();
  }
};
  ......      
var clickIt = this.autoClick();            
return (
  <div>
     <Link id="dashboard-link" to={'/dashboard'}>Dashboard</Link>
  </div>
);