【问题标题】:get onlye name of string removing tags using regex mirc?使用正则表达式 mirc 获取字符串删除标签的唯一名称?
【发布时间】:2016-06-14 09:26:56
【问题描述】:

我试图在 mirc usign 正则表达式上仅捕获用户名的昵称,但我无法捕获这是我想要获取用户名的数据

并涉及此正则表达式代码:

/^\x3a(:?(\[\w+\])?(\[\s\w+\s\]?))\s?(\w+)/i

这里是正则表达式:Regexer

我想获得第 1 组中的用户名。

所以有没有人有办法捕捉到这种情况?

if ($regex(info,$1-,/^\x3a(?::?(?:\[\w+\])?(?:\[\s\w+\s\]?)?)?\s?(\w+) (CHAT) (#\S+) \x3a([\x21])(hi|test)( |$)/i)) {
echo * NickName: $regml(info,1)
echo * Method: $regml(info,2)
echo * Channel: $regml(info,3)
echo * Symbol: $regml(info,4)
echo * Trigger: $regml(info,5)  }

:[ 标签 ] Xs_user CHAT #test_channel :!hi :madhu CHAT #test_channel :!hi

所以如果 nick 是频道的运营商,只需要使用用户名就可以比较。

【问题讨论】:

  • 再添加两个?^\x3a(:?(\[\w+\])?(\[\s\w+\s\]?)?)?\s?(\w+)。它对你有用吗?你还没有提到你想要得到什么输出。如果您使用此正则表达式,用户名将在第 4 组中。
  • 谢谢,我想得到第1组的用户名,可以吗?
  • 是的,让我尝试实施您的答案!提前致谢
  • 在 mirc 上这只会获取用户名,但当没有标签时:(我去放一个更具体的例子。
  • 是的,请回答您的问题。

标签: regex mirc usernametoken


【解决方案1】:

再添加两个 ? 以使 (:?(\[\w+\])?(\[\s\w+\s\]))(\[\w+\])?(\[\s\w+\s\]?) 组可选:

^\x3a(:?(\[\w+\])?(\[\s\w+\s\]?)?)?\s?(\w+)
                                ^ ^

请参阅regex demo。如果您使用此正则表达式,用户名将在第 4 组中。

要将用户名放入第 1 组,请在打开( 后添加?:,对您不感兴趣的所有分组使用非捕获组:

^\x3a(?::?(?:\[\w+\])?(?:\[\s\w+\s\]?)?)?\s?(\w+)
      ^^   ^^          ^^   

this regex demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多