2010-03-05 79 views
0

尝试解析SQL字符串并提取参数。正则表达式以拉字开头@

例如:“选择表*其中[年份] @ YR 1之间@ YR 2”

我要拉出来“@ YR 1”和“@ YR 2”

我已经尝试了很多模式,但没有工作过,如:

matches = Regex.Matches(sSQL, "\[email protected]\w*\b") 

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

任何帮助吗?

回答

1

您试图在之后放置一个字界而不是之前。也许这:

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

\ W(@ [^ \ S] +)

1

我会去与

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

或者,如果你不想包含@

/^|\[email protected](\w+)\s|$/ 

,虽然我也很喜欢乔尔的上面,所以也许这些

/^|\s(@[^\s]+)\s|$/ 
/^|\[email protected]([^\s]+)\s|$/ 
一个
相关问题