gpt4 book ai didi

java:计算开始和结束标签对

转载 作者:行者123 更新时间:2023-11-30 11:12:56 25 4
gpt4 key购买 nike

我有下面的文字

`h1` text  `/h1`        `i` text  `/i`            `u` text  `/u`  

这里对 h1 /h1 , i /i , u /u 完美存在,因此应该传递此文本。现在拿这段文字

`h1` text  `/h1`        `i` text  `/i`            `u` text  `/u  

此处缺少 u /u 组合。所以上面的文字失败了。

我试过了

    String startTags[] = {"`b`","`h1`","`h2`","`h3`","`h4`","`h5`","`h6`","`ul`","`li`","`i`","`u`"};
String endTags[] = {"`/b`","`/h1`","`/h2`","`/h3`","`/h4`","`/h5`","`/h6`","`/ul`","`/li`","`/i`","`/u`"};

for(int i=0;i<startTags.length;i++){
if(str.indexOf(startTags[i])!=-1){
System.out.println(">>>>"+startTags[i]);
startTagCount++;
}
if(str.indexOf(endTags[i])!=-1){System.out.println("+++"+endTags[i]);
endTagCount++;
}
}

if(startTagCount==endTagCount){
//TEXT IS OK
}else{
// TEXT FAILED
}

它通过下面的文本而不是失败

`h5`Is your question about programming? `/h5`
`b` bbbbbbbbbbbbbb`/b`
`b` bbbbbbbbbbbbbb`/b

Java 中有更好的解决方案或正则表达式吗?

最佳答案

恐怕这个问题不能通过(严格的)正则表达式来解决,因为你描述的语言不是 regular language ,它扩展了语言 {anbn},这是一种众所周知的非常规语言。

关于java:计算开始和结束标签对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636429/

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