我正在解析一些SQL语句,发现SELECT语句可能如下所示:SELECT [tblCustomer].[FirstName], [tblCustomer.LastName], [tblOrder].[Order_No]。正如你所看到的,第二列在方括号内有一个.。这在Access SQL中是可以接受的,但在SQL Server中不行。我试图构建一个正则表达式来识别是否有一个.在方括号内,并用].[替换它。
我尝试了:\[.+?\](?![\.]),它可以得到方括号内的句点,但当它找到闭合括号时,搜索并没有停止。
我使用ECMAScript以与VBA兼容,并且我不担心嵌套的括号。
例如:https://regex101.com/r/Inxhdg/1/
我尝试了:\[.+?\](?![\.]),它可以得到方括号内的句点,但当它找到闭合括号时,搜索并没有停止。
我使用ECMAScript以与VBA兼容,并且我不担心嵌套的括号。
例如:https://regex101.com/r/Inxhdg/1/
].[
替换为.
,然后再将.
替换为].[
? - Scott Cranerreplace(replace("SELECT [tblCustomer].[FirstName], [tblCustomer.LastName], [tblOrder].[Order_No]","].[","."),".","].[")
- Scott Cranerreplace(replace("SELECT [tblCustomer].[FirstName], [tblCustomer.LastName], tblOrder.Order_No","].[","."),".","].[")
- Ben[]
,则正确。 - Scott Craner