我試圖從軌道後拉的用戶名。我認爲這樣做的最好方法是使用正則表達式,並從@拉到下一個空格字符,這會給我用戶名。正則表達式從角色獲得由空格
如字符串:
'@stackoverflow is good for help'
我將能夠從@拉至下一個空白字符給我串'stackoverflow'
我的正則表達式的技能是有點欠缺,所以任何幫助將不勝感激。
謝謝。
我試圖從軌道後拉的用戶名。我認爲這樣做的最好方法是使用正則表達式,並從@拉到下一個空格字符,這會給我用戶名。正則表達式從角色獲得由空格
如字符串:
'@stackoverflow is good for help'
我將能夠從@拉至下一個空白字符給我串'stackoverflow'
我的正則表達式的技能是有點欠缺,所以任何幫助將不勝感激。
謝謝。
您可以使用\S
匹配任何非空白字符,例如:
(?<[email protected])\S*
將匹配其中@
字符後立即出現零個或多個非空白字符的序列。 (?<=…)
創建了一個lookbehind斷言,所以@
將不會包含在比賽中。
備選地,可以使用:
@(\S*)
這將匹配一個@
,隨後的零個或多個非空白字符,在組1
謝謝工作完美。 – jckly
這個怎麼樣:
regex = /@(\S*)/
\S
這裏匹配所有非空白字符。
這工作謝謝。但它返回@和字符串一樣。 – jckly
@jckly @後面的所有內容都在第1組中捕獲,因此您必須提取該組(或者只是使用'[1 ..- 1]') –
這樣的子字符串。 '@asdf asdfg'.match(/ @(\ S *)/)[1] =>'asdf'' –
很有趣的問題! +1 – Pavan