我正在尝试匹配此地址,但这似乎是一次冒险。目前\d{1,9},\d{1,2}([\s\w\.]+?)Please find
,这是正确的解决方案。
问题是我想在正则表达式模式中包含逗号,因为有时地址中会包含逗号。当我执行\d{1,9},\d{1,2}([\s\w\.\,]+?)Please find
时,它会匹配地址中我不想输入的所有数字包括。
如何避免这种情况? (我认为我们可以排除具有特定模式的数字,因为地址将包含12.97或15.97等。)
这就是我要搜索的内容
Ralf
Boson
Chesterford Avenue. 115
81777 Antananarivo
Madagascar
谢谢
Example Janel tan 40
1,00
25,97
25,97
Example Halfs black 123
1,00
12,97
12,97
Example Halfs black 456
1,00
24,47
24,47
Ralf
Boson
Chesterford Avenue, 115
81777 Antananarivo
Madagascar
Please find
enclosed your invoice in a pdf document.
For more information please read our frequently asked questions (FAQ) here https://example.com/hc/en-us.com
答案 0 :(得分:1)
获取数据的一种方法是使用负前瞻(如果支持)在开始时匹配数字格式,然后重复匹配所有不是以相同数字格式或Please find
开始的行/ p>
然后,您可以使用.*
(也将匹配空行)匹配整行,也可以使用字符类来指定允许匹配的内容。
^\d{1,9},\d{1,2}((?:\r?\n(?!Please find|\d{1,9},\d{1,2}).*)+)\r?\nPlease find