正则表达式以@开头的单词

时间:2010-03-05 20:04:42

标签: vb.net regular-language

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

Ex:“从@ Yr1和@ Yr2之间[年]的表中选择*

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

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

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

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

任何帮助?

2 个答案:

答案 0 :(得分:1)

你试图在之后放一个单词边界,而不是之前。也许这个:

  

\ W(@ [A-Z0-9a-Z] +)

  

\ W(@ [^ \ S] +)

答案 1 :(得分:1)

我会和

一起去
/^|\s(@\w+)\s|$/

或者如果您不想包含@

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

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

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