正则表达式在#OnlinePopup和_之间选择一些东西

时间:2008-11-18 00:00:15

标签: regex

有人可以告诉我一个正则表达式选择#OnlinePopup_AFE53E2CACBF4D8196E6360D4DDB6B70 可以假设#OnlinePopup

~DCTM~dctm://aicpcudev/37004e1f8000219e?DMS_OBJECT_SPEC=RELATION_ID#OnlinePopup_AFE53E2CACBF4D8196E6360D4DDB6B70_11472026_1214836152225_6455280574472127786

3 个答案:

答案 0 :(得分:2)

注意:以下是.NET Regex语法,根据您的喜好进行修改。

以下内容:

#[^_]+_[^_]+

将匹配:

  • 哈希
  • 一个或多个字符,直到下划线
  • 下划线
  • 一个或多个字符,直到下划线

如果第一位是常量,并且您希望更具体,则可以使用:

#OnlinePopup_[A-F0-9]+

这将匹配

  • OnlinePopup_(确切地说)

  • 一个或多个十六进制字符,直到非十六进制字符

答案 1 :(得分:0)

简单地匹配第一个'#'和第一个或最后一个'_'之间的任何内容都不适用于您的示例,因为您想要返回的字符串中包含下划线。如果您要匹配的所有文字中只有一个下划线,则可以使用此正则表达式:

/(#[^_]+_[^_]+)/

这匹配一个octothorpe(#),后跟两个不包含下划线的字符串,由一个下划线分隔。

答案 2 :(得分:0)

有点简单:

(\#OnlinePopup_.*?)_

假设您的文字以#开头,以_

结尾