如果第一个匹配,如何匹配两个连续的单词

How to Match Two Consitive words if fist one matches

如何匹配两个组成词

输入字符串

fgf     USE  [MarketWorkFlowDb] dfhdjfh
GO use


IF  EXISTS (SELECT * 
              FROM sys.objects 
             WHERE object_id = OBJECT_ID(N'[dbo].[DeleteLkpDataSp]') 
               AND type in (N'P', N'PC'))
    DROP PROCEDURE   [dbo].[DeleteLkpDataSp]
GO

我想在使用后立即匹配单词。 所以这里的输出应该是 USE [MarketWorkFlowDb] 但它匹配

 USE 

    IF

还有。

我正在用\s*\bUse\b\s+[a-zA-Z0-9_\[\]]+来匹配

\s 也匹配换行符。

您可以使用:

\bUse\b[ \t]+[a-zA-Z0-9_\[\]]+

[ \t]+ 将只匹配 1 个或多个 space 或制表符。

RegEx Demo

如果您想匹配 USE 之后的单词,您应该使用匹配组,如下所示:

\bUse\b[ \t]+([a-zA-Z0-9_\[\]]+)

如前所述,使用 \t 匹配白色 space 或制表符,并使用此正则表达式和 i 修饰符来匹配 Use , useUSE

This is a Regex DEMO.