gpt4 book ai didi

java - 正则表达式以匹配方括号内的字符串

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

与字符串"[ram]"中的"abcd[ram]xyz"(方括号和方括号一起包含的内容)匹配的正则表达式为"\[(.*?)\]"。在同一字符串中匹配"ram"(方括号内的内容)的正则表达式是什么?

最佳答案

与字符串"[ram]"中的"abcd[ram]xyz"匹配的正则表达式为"\[(.*?)\]"


的确如此,但是由于不愿意的量词?使其成为rather inefficient one。更好的表达是

\[([^\]]*)\]


此修改避免了回溯,使其成为更有效的正则表达式。


  在同一字符串中匹配 "ram"(方括号内的内容)的正则表达式是什么?


那就是表情!您需要做的就是从比赛中拉第1组:

Pattern p = Pattern.compile("\\[([^\\]]*)\\]"); // Note how slashes need double-escaping in Java
Matcher m = p.matcher("abcd[ram]xyz");
if (m.find()) {
System.out.println(m.group(1));
}


Demo on ideone.

关于java - 正则表达式以匹配方括号内的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21282947/

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