这种替代是怎么回事?

时间:2019-10-17 15:50:15

标签: regex perl

我能得到一些帮助来弄清楚发生了什么吗?

.xnext如何以字符串开头?

select Count(ParkingSlotId) as 'Empty Spots' 
from [ParkingLot].[ParkingSlot] 
where ParkingSlotId not in (
    select ParkingSlotId 
    from [Transaction].[ParkingTransaction] 
    where 
        @searchTime >= TimeIn
        and ([TimeOut] is null or @searchTime <= [TimeOut])
)

1 个答案:

答案 0 :(得分:1)

在您的正则表达式中,|是“替代”元字符,而不是文字竖线字符。所以你的模式

\.xnext\\|

可以匹配文字字符串.xnext\(在替换字符的左侧指定),或者

什么也没有,这是在交替右侧指定的内容。

因此,输入字符串的开头与您的正则表达式模式匹配,并且替换模式.xnext.位于字符串的前面。

您要使用的模式是

\.xnext\|

这是指定文字字符串.xnext|的方式。