想象我有字符串製作+非貪婪?
abcD
,我想提取abc
出來。我想用
^(.+)D$
的卻然後匹配1組,不僅abc
,但abcD
包括 - 如何使.+
貪心不足,所以D
不包括組?我知道我可以使用[^D]+
,但這真的是唯一的方法嗎?
對不起,這是一個不好的測試案例。 看一看這個樣本(JAVA):
Pattern pattern = Pattern.compile("^(\\{(.+?)\\})?$");
Matcher matcher = pattern.matcher("{a}{b}");
System.out.println(matcher.matches()); // true
爲什麼這場比賽?字符串中的正則表達式不應只允許一個{
和一個}
?我只想要像{< not } >}
這樣的東西匹配。
的這個演示你的意思'^(。+)d $'?你正在使用哪種正則表達式? – 2013-04-07 18:37:48
這不是貪婪的'.',而是'+'。 – 2013-04-07 18:38:12
@凱特湯普森:當然,謝謝! Nathan,好的,謝謝,但是,有關如何改變這種行爲的想法? – 2013-04-07 18:39:33