繁体   English   中英

用其他值替换正则表达式匹配

[英]Replace regex Match with other value

我有这样的查询:

select * from tdirectories where tdirectories.parent in 
( 
    select max(tdirectories.directoryid) from tdirectories 
    where tdirectories.ntfsdrivedocuid in 
    ( 
        select ntfsdrivedocuid from tntfsdrives, tntfsdrivedocu 
        where tntfsdrivedocu.ntfsdriveid = tntfsdrives.ntfsdriveid and tntfsdrives.hostid in 
        (
            select tdocu.hostid from tdocu, tshares 
            here tdocu.docuid = tshares.docuid 
            and tdocu.archiv = 0 
        )
        and tntfsdrivedocu.archiv = 0 
    )
    and tdirectories.pathhash  in (select tshares.pathhash from tshares   ) 
)  

我想做的是通过使用RegEx我想找到这一部分:

select max(tdirectories.directoryid) 

max可以是任何值。 我想找到它并删除,结果我将拥有

select tdirectories.directoryid

我创建的正则表达式如下所示:

Regex rgx = new Regex("(select\\s.+select)\\smax\\s*\\((?<VAR>[^)]+)\\)");

但这不能解决我的问题。 我想念什么?

您可以参加(免费模式):

select       # select literally
\            # a space
max          # max literally
\(([^)]+)\)  # capture anything inside the parentheses

并使用第一组( $1 ),请参阅regex101.com上的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM