好的,所以我对正则表达式很恐怖,需要一些帮助.我发现此代码与推特用户名相匹配:
'/(?<=^|\s)@([a-z0-9_]+)/i
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都有效,除非在@username之前放置HTML标记,例如:
<p>@username</p>
Run Code Online (Sandbox Code Playgroud)
这对我来说是一个问题,因为它会发生在我正在做的事情上.
然后有这个,它可以工作,但也检测电子邮件地址,这不是我想要的:
/^[A-Za-z0-9_]+$/
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如果html标记结束>是问题,请将其添加到lookbehind组:
'/(?<=^|\s|>)@([a-z0-9_]+)/i
Run Code Online (Sandbox Code Playgroud)