1.去除头部的序号和尾部的符号
String cleanedText = input.replaceAll("^[0-9]+\\.\\s*|\\p{Punct}+$", "")
说明:
^表示开始
[0-9]表示数字
+表示
开头、结尾匹配
^:匹配字符串的开头位置$:匹配字符串的结尾位置
重复次数
+:匹配前面的元素一次或多次。?:匹配前面的元素零次或一次。*:匹配前面的元素零次或多次。{n}:匹配前面的元素恰好出现 n 次。{n,}:匹配前面的元素至少出现 n 次。{n,m}:匹配前面的元素出现 n 到 m 次
特殊字符类表示,大写字母表示相反的,比如\d表示数字,\D表示非数字
\\s:匹配任何空白字符,包括空格、制表符、换行符等。\\S:匹配任何非空白字符\\d:匹配任何数字字符,相当于 [0-9]。\\D:匹配任何非数字字符,相当于 [^0-9]。\\w:匹配任何字母数字字符(包括下划线),相当于 [a-zA-Z0-9_]。\\W:匹配任何非字母数字字符,相当于 [^a-zA-Z0-9_]。\\p{Punct}:用于匹配标点符号,是基于Unicode匹配的,不能匹配中文符号,可以匹配各种语言中的标点符号,同\W在大多数情况下可以被认为是等效的,而\W可能只匹配ASCII