[英]Groovy regex match without inclusion
我需要從下面的字符串中獲取每個塊Foo。 我為此使用正則表達式。 代碼如下。 但由於正則表達式的部分($|( ..F))
,我只得到Foo[1]
和Foo[3]
。 如何使用正則表達式獲取每個Foo
塊?
import java.util.regex.Matcher
String test = ''' ..Foo[1]dsfsdf
...........sfsdfdsfsdfsdf
..............sdfffffffffsd
..................sdffffffffffffffff
..Foo[2]dsfsdf
...........sfsdfdsfsdfsdf
..............sdfffffffffsd
..................sdffffffffffffffff
..Foo[3]dsfsdf
...........sfsdfdsfsdfsdf
..............sdfffffffffsd
..................sdffffffffffffffff
..Foo[4]dsfsdf
...........sfsdfdsfsdfsdf
..............sdfffffffffsd
..................sdffffffffffffffff'''
Matcher m = test =~ /(Foo\[[0-9]{1,6}\][\s\S]*?)($|( ..F))/
m.find();
//after this m.count equals 2 and contains only Foo[1] and Foo[3], but I need 4 with all Foo's
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.