我无法在指定匹配之前找到管道字符|
之间的最后内容。
我想在|401 |
之前找到" 313.175,89-"
(或|
符号之间的任何符号)。
|Posting text | Amount|BTC | | |Beginning balance | 0,00 | | | 2|29.07.2021|29.07.2021| 401 ARD DEP. PLN OPROC.: 0 OD: 29.07.2021 DO: | | 313.175,89-|401 | | | | | KAPITALU: 612313
所有我有|.*?(?=|401.|)
,但匹配所有从换行符唱。
你的正则表达式几乎在那里,但问题是你的正则表达式将从第一个管道匹配,因为.*?
也匹配管道。
将|.*?
替换为[^|]*
以只匹配非管道:
[^|]*(?=|401 |)
查看现场演示
它的工作原理是匹配任意数量的非管道且后跟|401 |
的字符。
请注意,字符类中的管道并不需要转义,因为大多数字符在字符类中使用时会失去其特殊含义,而pipe就是其中之一。
若要省略目标的前后空格,请使用[^| ]*(?= *|401 |)
。
查看现场演示