正则表达式查找以@和空格分隔的字母数字丹麦字符

时间:2018-07-18 14:47:06

标签: javascript regex

我想找到用 @ 和空格分隔的字符串。它包含丹麦字母或4位数字。


在下面的文本中,我要匹配 @ 和空格之间的所有字符。

  

Lorem @ ipsum dolor sit at a consectetur adipisicing elit。 Doloremque减去rem fugit @ reprehenderit @ velit 渐次渐次渐次渐弱,libero nisi @ necessitatibus eius。 @ 4000 Numquam,Dolorum。 Nihil,@ dolorem animi @ vokalforråd


在此文本中,我不希望在 @ 和空白之间找到任何匹配的单词。

  

Lorem@ipsum.com主教席,但要勤于奉献。 Sunt natus officiis tenetur repellat doloremque @ ipsum-co准dicta explicabo eius,es non eum Lorem @ ipsum nostrum rerum。 Vitae maiores velit esse porro placeat eveniet。

信息

丹麦字母由英语字母+ æøå组成。

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

1 个答案:

答案 0 :(得分:1)

我很乐意根据说明更新答案,但是鉴于您当前的条件,@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()来做到这一点。