我想找到用 @
和空格分隔的字符串。它包含丹麦字母或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。
丹麦字母由英语字母+ æ
,ø
和å
组成。
答案 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()
来做到这一点。