【问题标题】:regular expression to pull words beginning with @正则表达式提取以@开头的单词
【发布时间】:2011-01-24 06:44:25
【问题描述】:

尝试解析 SQL 字符串并提取参数。

例如:“从 @Yr1 和 @Yr2 之间的 [Year] 表中选择 *”

我想抽出“@Yr1”和“@Yr2”

我尝试了很多模式,但都没有奏效,例如:

matches = Regex.Matches(sSQL, "\b@\w*\b")

matches = Regex.Matches(sSQL, "\b\@\w*\b")

有什么帮助吗?

【问题讨论】:

    标签: vb.net regular-language


    【解决方案1】:

    您试图在@ 之后 放置单词边界,而不是之前。也许是这样:

    \w(@[A-Z0-9a-z]+)

    \w(@[^\s]+)

    【讨论】:

      【解决方案2】:

      我会去的

      /^|\s(@\w+)\s|$/
      

      或者如果您不想包含 @

      /^|\s@(\w+)\s|$/
      

      虽然我也喜欢上面的 joel,所以也许是其中之一

      /^|\s(@[^\s]+)\s|$/
      /^|\s@([^\s]+)\s|$/
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-23
        • 2014-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多