Regex 如何使用正则表达式匹配以下输出
房间信息: singleRoom (male): 0x3 singleRoom (famle): 0x0 单人房(男):0x3 单人房(家庭):0x0Regex 如何使用正则表达式匹配以下输出,regex,tcl,Regex,Tcl,房间信息: singleRoom (male): 0x3 singleRoom (famle): 0x0 单人房(男):0x3 单人房(家庭):0x0 我想匹配输出的第二行:singleRoom(male):0x3,并获得十六进制值0x3。如何在不使用“*”模式的情况下实现它?^singleRoom\(男):(0x[a-fA-F0-9]+)$我认为是时候阅读Jeffrey E.F.Friedl的《掌握正则表达式》一书或其他一些关于正则表达式的入门课程了,因为你在这个主题上的问题越来越像是掉进了“
我想匹配输出的第二行:
singleRoom(male):0x3
,并获得十六进制值0x3
。如何在不使用“*
”模式的情况下实现它?^singleRoom\(男):(0x[a-fA-F0-9]+)$
我认为是时候阅读Jeffrey E.F.Friedl的《掌握正则表达式》一书或其他一些关于正则表达式的入门课程了,因为你在这个主题上的问题越来越像是掉进了“家庭作业”中类别…实际上,在(男性):0x3之间有一些空格或tabsGood调用,@GlennJackman So,包括变量空格:^singleRoom\(男性):\s+(0x[:xdigit:]+)$
注意,我还跳过了“男性”周围的括号,因此它不是捕获组。。。现在找到一些正则表达式教程@Xoph我发现使用[(]
而不是\(
)(减少反斜杠计数总是一件好事。(虽然两者都是Tcl元字符,所以将RE放在大括号中仍然很重要。)