Regex-在组后追加,将内容保持在组与组之间
在我自己的编译器中,我需要一些关于特殊情况的帮助 我们的想法是转向Regex-在组后追加,将内容保持在组与组之间,regex,regex-group,Regex,Regex Group,在我自己的编译器中,我需要一些关于特殊情况的帮助 我们的想法是转向 @media screen and (min-width:1280px) { @media screen and (min-width:1088px) and (max-width:1279px) { 进入 (在带支架的开口后附加#测试id) 我可以看到地上的两个赌注是“@media”和“{”。 考虑到这一点,有什么可能的正则表达式解决方案可以将代码保存在“@media”(…)“{”中并附加一个“#test id” 匹配和替换
@media screen and (min-width:1280px) {
@media screen and (min-width:1088px) and (max-width:1279px) {
进入
(在带支架的开口后附加#测试id)
我可以看到地上的两个赌注是“@media”和“{”。
考虑到这一点,有什么可能的正则表达式解决方案可以将代码保存在“@media”(…)“{”中并附加一个“#test id”
匹配和替换的原始正则表达式将有所帮助
干杯!您可以使用以下表达式:
(^@media[^{]+{)
捕获组(
断言行的起始位置^
匹配文字子字符串@media
匹配除[^{]+
以外的任何内容{
匹配一个{
{
关闭捕获组)
\1 #test-id
您可以尝试使用regex live。不确定要将regex合并到哪种语言中,但类似的东西在Python中可以使用:
re.sub(r“(.+?\{)”,r“\1测试id”,您的\u字符串)
。示例:谢谢!这很有效。有些语言,如Erlang,需要一个“&”,而不是一个“\1”。这给了我所需要的想法。不客气。是的,在某些语言中,您也可以使用$1
@JonRiel实际上,&
通常表示“替换为整个匹配”,因此它与替换为捕获组的内容并不完全相同。从Erlang re文档中也可以看到:替换字符串可以包含特殊字符&,它将在result@JonRiel你可以找到更多的信息。
\1 #test-id