gpt4 book ai didi

java - Java 中的正则表达式帮助

转载 作者:行者123 更新时间:2023-11-29 03:44:31 24 4
gpt4 key购买 nike

在构建正则表达式字符串时,我迷路了。我需要一个执行以下操作的正则表达式。

我有以下字符串:

[~class:obj]
[~class|class2|more classes:obj]
[!class:obj]
[!class|class2|more classes:obj]
[?method:class]
[text]

一个字符串可以有多个上面的内容。示例字符串为“[if] [!class:obj]”

我想知道 [] 和分成匹配组之间的内容。例如,第一个匹配组将是符号(如果存在) (~|!|?) 接下来是 : 之前的内容,这样可能是 class 或 class|class2|etc... 然后是 : 右边的内容和在 ] 之前停止。可能没有 : 和它之前的内容,只有 [] 之间的内容。

那么,我该如何编写这个正则表达式呢?是否可以提供匹配组名称以便我知道它匹配了什么?

这是一个 java 项目。

最佳答案

如果您对自己的输入足够确定,您可能可以使用类似 /\[(\~|\!|\?)?(?:((?:[^:\]]* ?)+):)?([^\]]+?)\]/。 (要将其翻译成 Java,您需要转义反斜杠并使用引号而不是正斜杠)

关于java - Java 中的正则表达式帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11637930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com