登录
首页 >  文章 >  php教程

如何用正则表达式匹配字符串中未被[url]标签包围的用户名?

时间:2024-12-19 16:16:04 429浏览 收藏

一分耕耘,一分收获!既然都打开这篇《如何用正则表达式匹配字符串中未被[url]标签包围的用户名?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!

如何用正则表达式匹配字符串中未被[url]标签包围的用户名?

常规正则匹配非标签内用户名

你有一个字符串,包含多个被 [url] 标签包围的用户名,以及一些未被标签包围的用户名。你的目标是只匹配那些未被标签包围的用户名。

正则表达式

为了解决这个问题,你可以使用以下正则表达式:

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

解释

  • @:匹配一个 "@" 符号。
  • ([^@[]] ):匹配一个或多个非 "@"、"[" 或 "]" 的字符,将匹配到的内容存储在捕获组 1 中。
  • (?![^[]]*[/url]):这是一个负向前瞻,它确保匹配的文本后面没有 "[url]" 到 "[/url]" 之间的任何内容。

示例

对于给定的字符串:

[url=/space/4]@张三[/url] [url=/space/5]@李 四[/url] @张三 @张三 [url=/space/6]@王五[/url] [url=/space/7]@赵六[/url] [url=/space/8]@wolegequ[/url]@sweet @haha

正则表达式将匹配以下结果:

  • 张三
  • sweet
  • haha

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>