gpt4 book ai didi

java - ")"匹配括号的正则表达式

转载 作者:行者123 更新时间:2023-12-02 00:27:06 24 4
gpt4 key购买 nike

每个笑脸都必须有一个笑嘴,并应标记为 )D

我尝试使用以下代码来执行此操作:

import java.util.*;
import java.util.regex.Pattern;
public class SmileFaces {

public static int countSmileys(List<String> arr) {
String regx = "/^((:|;)(-|~)?|D|//))$/";
int count=0;
ListIterator<String> itr=arr.listIterator();

while(itr.hasNext()){
if(Pattern.matches(regx,itr.next())){
count++;
}
}
return count;
}
}

我尝试过这个正则表达式来进行微笑检查:/^((:|;)(-|~)?|D|//))$/

最佳答案

您可以通过使用两个反斜杠正确转义 \\) 来修补当前的正则表达式,但我认为字符类在这里更容易阅读:

String regx = "^[;:][~-]?[D)]$";

请注意,Java 正则表达式模式像在 PHP 或 Python 等其他语言中那样采用分隔符,因此我将它们从您的模式中删除了。另外,如果您想将上述模式与某些方法一起使用,例如 String#matches,您可以删除 ^$ anchor 。

关于java - ")"匹配括号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58046538/

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