Regex 如何替换包含另一个子字符串的行中的子字符串
我有这句台词 对于包含任何大小写的“Id”的每一行,我想用int替换“string” 不确定如何对此进行分组 这是我的名单 我尝试过这样的Regex 如何替换包含另一个子字符串的行中的子字符串,regex,Regex,我有这句台词 对于包含任何大小写的“Id”的每一行,我想用int替换“string” 不确定如何对此进行分组 这是我的名单 我尝试过这样的^(.*(字符串)。*(Id)。*)$并替换为\1或\2 public string ID {get; set} public string IdSite {get; set} public string IdParent {get; set} public string IdPageType {get; set} public string PageType
^(.*(字符串)。*(Id)。*)$
并替换为\1
或\2
public string ID {get; set}
public string IdSite {get; set}
public string IdParent {get; set}
public string IdPageType {get; set}
public string PageType {get; set}
public string IdTemplate {get; set}
public string TemplateName {get; set}
public string IdTemplateParent {get; set}
你可以用
(?i)^(\s*\w+\s+)string(\s+Id)
或者,如果ID
可能在单词内部
(?i)^(\s*\w+\s+)string(\s+\w*Id)
^^^
替换为$1新台币$2
。看。见:
详细信息
-不区分大小写的内联选项(?i)
-行的开头(或字符串,如果未在文本编辑器中使用,请在开头使用^
,而不是(?im)
)(?i)
-第1组((\s*\w+\s+
):0+空格,1+单词字符,1+空格$1
-一个字符串
单词字符串
-组2((\s+Id)
):1+空格和$2
字符串(如果在此组模式中使用Id
,它将匹配0+个字字符)\w*
(?i)^(\s*\w+\s+)string(\s+Id)
或者,如果ID
可能在单词内部
(?i)^(\s*\w+\s+)string(\s+\w*Id)
^^^
替换为$1新台币$2
。看。见:
详细信息
-不区分大小写的内联选项(?i)
-行的开头(或字符串,如果未在文本编辑器中使用,请在开头使用^
,而不是(?im)
)(?i)
-第1组((\s*\w+\s+
):0+空格,1+单词字符,1+空格$1
-一个字符串
单词字符串
-组2((\s+Id)
):1+空格和$2
字符串(如果在此组模式中使用Id
,它将匹配0+个字字符)\w*
- 您不需要匹配整条线路或捕获任何内容。相反,请尝试:
string(?=.*?id)
断言
id
位于string
之后。另外,要以任何形式匹配id
,您应该启用不区分大小写的匹配,或者使用[iI][dD]
来支持id
您不需要匹配整行或捕获任何内容。相反,请尝试:
string(?=.*?id)
断言
id
位于string
之后。另外,要以任何形式匹配id
,您应该启用不区分大小写的匹配,或者使用[iI][dD]
来支持id尝试string(?=.*id)
并启用不区分大小写的匹配。@revo,谢谢,如果您发布答案,我将接受itTrystring(?=.*id)
并启用不区分大小写的匹配。@revo,谢谢,这很有效,如果你把答案贴出来,我会接受的