代码之家  ›  专栏  ›  技术社区  ›  mahan

regex查找用@和空格分隔的字母数字丹麦语字符

  •  -1
  • mahan  · 技术社区  · 6 年前

    我想查找用分隔的字符串 @ 还有空白。它包含丹麦字母或4位数字。


    在下面的文本中,我要匹配 @ 还有空白。

    洛伦@ 乱数假文 多洛坐在阿米特连续阿迪皮西克精英。Doloremque减去Rem Fugit@ 谴责它 @ 维利特 色欲色欲欲欲欲欲欲旺盛@ 必要的 EUUS。@ 四千 努姆昆,多洛伦。尼希尔@ 多洛雷姆 阿尼米@ 沃卡福德 .


    我不想在两个词之间匹配 @ 以及本文中的空白。

    lorem@ipsum.com Dolor Sit,Amet Concetteur Adipisicher精英。新纳图斯官员的宗旨是排斥多洛雷姆奎@ipsum co准dicta explicabo eius,ese non eum lorem@ipsum nostrum rerum。维塔·迈奥瑞斯·维利特是波尔罗广场的一员。

    信息

    丹麦字母由英语字母组成+ æ , ø Ã¥ .

    https://en.wikipedia.org/wiki/Danish_and_Norwegian_alphabet

    1 回复  |  直到 6 年前
        1
  •  1
  •   Patrick Roberts Benjamin Gruenbaum    6 年前

    我很乐意在澄清的基础上更新我的答案,但是考虑到你目前的标准, @vokalforrÃ¥d. 应该 因为它以 . 而不是空白。

    const tests = ['Lorem @ipsum dolor sit amet consectetur adipisicing elit. Doloremque minus rem fugit @reprehenderit  @velit voluptate voluptas ipsa quos deleniti beatae soluta, libero nisi @necessitatibus eius. @4000 Numquam, dolorum. Nihil, @dolorem animi @vokalforråd.', 'Lorem@ipsum.com dolor sit, amet consectetur adipisicing elit. Sunt natus officiis tenetur repellat doloremque @ipsum-co quasi dicta explicabo eius, esse non eum Lorem@ipsum nostrum rerum. Vitae maiores velit esse porro placeat eveniet.']
    const pattern = /(?:^|\s)@[\da-zæøå]+(?=\s)/gi
    
    tests.forEach(test => {
      console.log(test.match(pattern))
    })

    您将需要从每个具有此特定模式的匹配项中删除前导空格(如果有)。你可以这样做 string.trim() .