作者zelda312 (song)
看板java
標題[問題] reguler expression可以從右到左scan嗎?
時間Sun Jun 13 02:49:40 2010
大家好
我想要找 "fooxxd" form "fooxxxxfooxxd"
所以用的pattern是"foo.*d"來找
根據某大大的Java Regular Expression的學習筆記 [精華]
http://0rz.tw/f01Ok
我用的是 Reluctant quantifiers 而非greedy quantifiers
但因為是從頭開始找所以還是找了較長的句子
而非較短的句子
請問有什麼方法可以解嗎?
有辦法從右往左找嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.3.165
1F:→ xlk:有regexp專版 "foo.*d"用的是greedy 何不直接用"fooxxd" 06/13 03:55
2F:推 lubu:丟入stack? 06/13 12:30
3F:→ zelda312:因為xx是任意字元呀 06/13 13:40
4F:→ xlk:我猜也是 你改成Reluctant有match到嗎? 06/13 15:58
5F:→ zelda312:找不到耶~ 其它語言有從右到左找的設定,但java我找不到 06/13 16:09
6F:→ xlk:不用從右往左找,把握基本規則 greedy或reluctant都能match到 06/13 20:59
7F:→ jlovet:Pattern.compile(".*(foo.*?d)"); 06/13 21:05
8F:→ zelda312:樓上的解法看起來好像可以~我試試看 06/13 22:35
9F:→ zelda312:哦哦!!樓上正是我想要的! 抓group1就可以了~感溫:) 06/13 22:38