【发布时间】: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")
有什么帮助吗?
【问题讨论】:
尝试解析 SQL 字符串并提取参数。
例如:“从 @Yr1 和 @Yr2 之间的 [Year] 表中选择 *”
我想抽出“@Yr1”和“@Yr2”
我尝试了很多模式,但都没有奏效,例如:
matches = Regex.Matches(sSQL, "\b@\w*\b")
和
matches = Regex.Matches(sSQL, "\b\@\w*\b")
有什么帮助吗?
【问题讨论】:
您试图在@ 之后 放置单词边界,而不是之前。也许是这样:
\w(@[A-Z0-9a-z]+)
或
\w(@[^\s]+)
【讨论】:
我会去的
/^|\s(@\w+)\s|$/
或者如果您不想包含 @
/^|\s@(\w+)\s|$/
虽然我也喜欢上面的 joel,所以也许是其中之一
/^|\s(@[^\s]+)\s|$/
/^|\s@([^\s]+)\s|$/
【讨论】: