gpt4 book ai didi

java - 正则表达式删除标题和尾部标点符号

转载 作者:行者123 更新时间:2023-12-02 08:28:05 29 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个正则表达式,以消除字符串中除 "-" 之外的所有标题和尾部标点符号,但保持单词内的标点符号完整。

  1. 我尝试用 "" 替换标点符号,String regex = "[\\p{Punct}+&&[^-]]";现在,但它也会删除单词中的标点符号。

  2. 我还尝试匹配模式:String regex = "[(\\w+\\p{Punct}+\\w+)]";Matcher.maches () 来匹配一个组,但它给我输入 null String word = "#(*&wor(&d#)("

我想知道在这种情况下处理正则表达式组匹配的正确方法是什么

示例:

Input: @)($&word@)($&                   Output: word
Input: @)($)word@google.com#)(*$&$ Output: word@google.com

最佳答案

    Pattern p = Pattern.compile("^\\p{Punct}*(.*?)\\p{Punct}*$");
Matcher m = p.matcher("@)($)word@google.com#)(*$&$");
if (m.matches()) {
System.out.println(m.group(1));
}

要提供更多信息,关键是在正则表达式中标记字符串的开头和结尾(^ 和 $),并使中间部分非贪婪地匹配(使用 *? 而不是仅 *) .

关于java - 正则表达式删除标题和尾部标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4044503/

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