正规表达式问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 14:23:48
例如:
模式: "\\[.*\\]"
字符串: "[name]hua[sex]man[age]22"
为什么每次匹配的都是[name]hua[sex]man[age] 而不是[name]或[sex]之类
难道它是从字符串的开始和结尾同时开始和模式匹配?
那我想要[name]怎么办?
我当然想要hua,man,22之类的数据了.
那我问得就有点多余了,再具体点就可以得到更具体的信息了.

".*"这个你要知道,“.”包括任意字符,“.*”意味着 从 n一直到age后面的"]"

你是想要[name]还是要[name]后面"hua"呢?
======================================
我改了一下java程序
Pattern p = Pattern.compile("[^\\]]\\w*[^\\[]");
Matcher m = p.matcher("[name]hua[sex]man[age]22");
while(m.find()) {
//想要什么在这里判断就行了
out.println(m.group());
}

输出结果:
[name]
hua
[sex]
man
[age]
22

"\\[name\\]"