2017-07-02 21 views
0

我想匹配由什麼或空白像下面的例子preceeded @的:正則表達式:非字字符由空格或在一行的開頭先

@one 
    @two 
    [email protected] 
    /@four 

我方法是(^|\s)@,但是這捕獲了one two three four\[email protected]只捕獲two。我如何得到one two,但沒有得到three four

如果相關,所有的@的都是由一封信繼承。

+0

@mickmackusa它是使用JavaScript Codemirror。如果這是必不可少的信息,請原諒我的無知。 –

回答

1

^\s*@怎麼樣?也就是說,開始行後接零個或多個空格,然後是@。 (注意,不同的laguanges有不同的正則表達式規則)

1

這是一種方式:

/^ *@(.+)/ #allow @之前零個或多個空格,然後啓動,直到一個換行符匹配的一切。

Javascript Demo

1

如果你可以使用回顧後,這應該工作(在本地JavaScript不支持):

(?<=\s|^)@ 
相關問題