我正在苦苦挣扎,已经查找了许多资源。感谢您的宝贵时间和耐心等待。我想提取字符串中所有内容,但要放在两个括号之间,包括括号本身。
Duck,Donald [CTO Enterprise] Mouse,Micky [人力资源员工敬业度]
我想拥有:
鸭,唐纳德 鼠标,米奇
到目前为止,我一直表现不佳
[A-Za-z, ][^\[(.*?)\]]
但无济于事。
谢谢!
答案 0 :(得分:0)
您可以尝试:
\s*\[.*?[^\[]*\]
上述正则表达式的解释:
\s*
-匹配任何空白字符(等于[\r\n\t\f\v ]
)零次或多次。
[.*?[^\[]*\]
-从字面上匹配方括号,并延迟匹配方括号内的所有内容。如果这也是您的要求,它将甚至替换嵌套的括号。
您可以在here.中找到正则表达式的演示
Java的实现:
public class Main
{
public static void main(String[] args) {
String str = "Duck, Donald [CTO Enterprise] Mouse, Micky [HR Employee Engagement]";
System.out.println(str.replaceAll("\\s*\\[.*?[^\\[]*\\]", ""));
}
}
// outputs: Duck, Donald Mouse, Micky
您可以在here.
中找到上述代码的示例运行