如何将多个正则表达式用于一个字符串



有没有办法存储这两种类型的"标签";使用Golang和regex。

以下是所述标签的示例:

<tag1>hello
my name is Matt</tag1><tag2>goodbye!</tag2>

我在这方面尝试了很多方法,但每次尝试都只能找到";标签1";。

这是我正在使用的正则表达式:<(tag1|tag2)>((.|n)*)</(tag1|tag2)>

您使用的正则表达式也会错误地匹配具有不匹配的标记开头和结尾的文本(例如<tag1>Hello!</tag2>(。如果您按照以下方式修改正则表达式,两个标记都将匹配:

(<tag1>((.|n)*)</tag1>)|(<tag2>((.|n)*)</tag2>)

但正如其他人在评论中提到的那样,使用解析器可能是更好的解决方案。从外观上看,即使是XML解析器也可以帮助您处理用例,而且您不需要编写新的语法。

相关内容

最新更新