1

我有一个场景,我想匹配特定的单词,然后匹配所有内容,直到我得到另一个模式。例如

ABC=145865865

然后任何事情都会出现

进而

日期=11/11/2001

我已经尝试过(。*?)但它只匹配我的场景中的特定行,我之间有多行数据。

我怎样才能做到这一点?

4

2 回答 2

1

最接近我认为您正在寻找的猜测:

ABC=(\d+)[\s\S]*?Date=(\d\d/\d\d/\d{4})

[\s\S]意味着“空白字符或非空白字符”,相当于“任何字符”。.也可以设置为匹配任何字符,但我更喜欢[\s\S]它,因为它无需设置标志就可以做到这一点。你还没有指定你使用的语言,所以我不能告诉你如何设置这样的标志(它re.DOTALL在 Python 中)。

于 2012-04-04T06:43:09.277 回答
0

多行?如果您的意思是中间有换行符 (\n),那么您需要设置 DOTALL 标志,如下所示:

Pattern p = Pattern.compile(<your-regex-here>, Pattern.DOTALL)

以上将匹配两个字符串之间的换行符。

于 2012-04-04T06:47:38.667 回答