0

SQL 文字列を解析してパラメーターを取得しようとしています。

例: 「select * from table where [Year] between @Yr1 and @Yr2」

「@Yr1」と「@Yr2」を抜き出したい

私は多くのパターンを試しましたが、次のようなどれもうまくいきませんでした:

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

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

何か助けはありますか?

4

2 に答える 2

1

私は一緒に行ったでしょう

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

または @ を含めたくない場合

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

上記のジョエルも好きなので、おそらくこれらの1つ

/^|\s(@[^\s]+)\s|$/
/^|\s@([^\s]+)\s|$/
于 2010-03-05T20:26:19.007 に答える
1

@ の前ではなく、に単語境界を配置しようとしています。多分これ:

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

また

\w(@[^\s]+)

于 2010-03-05T20:06:54.553 に答える