0
我正面臨與Ruby Regexp匹配的一些問題。Ruby Regexp匹配匹配重複值
我有以下查詢,我想我的掃描參數:
EXEC sp_executesql N'exec dbo.MyProcedure @[email protected],@[email protected],@[email protected]'
, N'@p0 int,@p1 nvarchar(max) ,@p2 nvarchar(max)'
, @p0 = 123569
, @p1 = N'1633,1634'
, @p2 = N'39A,CS,DE,ES,FR,GB,IT,NL,AB,BS,BU,CR,ET,FI,HU,LA,LT,MD,ME,MV,PL,RO,RS,SK,SV,GR,PT,TR,AT,CH,LI,GG,KS,UK,GI,MN,RR,CY,MT,BL,RU,DK,NO,SE,BE,IC,IE,LX'
我剛剛格式化的查詢看起來整潔和可讀性。在我的源代碼中,標籤和空格更少。
理想情況下,我想獲得三場比賽:
@p0 = 123569
@p1 = N'1633,1634'
@p2 = N'39A,CS,DE,ES,FR,GB,IT,NL,AB,BS,BU,CR,ET,FI,HU,LA,LT,MD,ME,MV,PL,RO,RS,SK,SV,GR,PT,TR,AT,CH,LI,GG,KS,UK,GI,MN,RR,CY,MT,BL,RU,DK,NO,SE,BE,IC,IE,LX'
然而,我的正則表達式模式合併@ p1和@ p2的,這就是我得到:
@p0 = 123569
@p1 = N'1633,1634',@p2 = N'39A,CS,DE,ES,FR,GB,IT,NL,AB,BS,BU,CR,ET,FI,HU,LA,LT,MD,ME,MV,PL,RO,RS,SK,SV,GR,PT,TR,AT,CH,LI,GG,KS,UK,GI,MN,RR,CY,MT,BL,RU,DK,NO,SE,BE,IC,IE,LX'
我可以看到問題在哪裏,但是對於Regexp我很新,我無法弄清楚如何正確編寫它。這是我的表達:
(\@p[0-9]+)+\=(\N\'.*\'|[0-9]+|NULL)
我在這裏測試我的正則表達式表達:http://rubular.com/r/OF5EVD5Nau
我剛剛意識到我粘貼了錯誤的URL。但是,這似乎正是我正在尋找的。非常感謝你。 –
我已經用正確的鏈接更新了我的答案。我對錶達式做了一些修改,並刪除了'$'字符(我的整個文本都是整行),它似乎工作正常。這是一個:'(@p [0-9] +)=(\ d + | N'。+?'| NULL)'。再次感謝 –
@EvaldasBuinauskas當我在你的正則表達式中看到你的例子時,我擔心的一件事是:p我認爲我們現在可以把它保留下來,很高興它幫助了:) – Tensibai