我目前使用下面的模式@用戶:提起用Linkify和正則表達式
Pattern mentionPattern = Pattern.compile("@([A-Za-z0-9_]+)");
這將找到一個名爲@user
例如用戶,但它不會找到@user.
(與尾點)或@user!hello
。我想基本上捕捉所有內容,直到第一個空格。我可以使用什麼模式來查找這些類型的用戶名?
我目前使用下面的模式@用戶:提起用Linkify和正則表達式
Pattern mentionPattern = Pattern.compile("@([A-Za-z0-9_]+)");
這將找到一個名爲@user
例如用戶,但它不會找到@user.
(與尾點)或@user!hello
。我想基本上捕捉所有內容,直到第一個空格。我可以使用什麼模式來查找這些類型的用戶名?
@(\S+)
將捕獲到第一個空白爲止的所有內容。
編輯以供將來參考:
Pattern.compile("@([\\S+A-Za-z0-9_]+)");
是實際的答案,如果你想只捕捉user
,以上的例子已抓獲user!hello
。
你是指''Pattern.compile(「@([\\ S + A-Za-z0-9 _] +)」);''這對我有用。謝謝! – santafebound
是的,對不起,我誤解了捕獲'user!hello'而不是'user'的問題。 – LW001
這很混亂,因爲你的模式已經有效。 https://regex101.com/r/qgOTKF/1。什麼不起作用? – linden2015
我的意思是我想要找到''user'''和''user.123''例如,即包含在點之後但在新的白色空間之前的尾部點和字符。 – santafebound
您在另一條評論中提到的模式'@([\\ S + A-Za-z0-9 _] +)不會捕獲「@ user.123」。對?你是否想要捕獲任何不包含空白區域的組合?還有'@ user1 @ user2'作爲一個用戶? 如果您添加示例和預期結果的列表,它會有所幫助。 – linden2015