Hello! 欢迎来到小浪资源网!


如何提取字符串中URL标签之外的@用户名?


如何提取字符串中URL标签之外的@用户名?

匹配非 url 标签之外的 @ 用户

给定一个包含 url 标签和 @ 用户名的字符串,如何找出所有非 url 标签中的 @ 用户名,但不使用断言?

解决方案:

使用以下正则表达式

@([^@[]]+)(?![^[]]*[/url])

分析:

  • @ 匹配字符 ‘@’。
  • ([^@[]] ) 捕获一段不包含 ‘@’、'[‘ 或 ‘]’ 的文本,这表示一个用户名。
  • (?![^[]]*[/url]) 是一个负向先行断言,它断言前面不包含任何 url 标签结束标签 ‘[/url]’。这可确保只匹配非 url 标签中的用户名。

相关阅读