【发布时间】:2017-07-29 08:12:20
【问题描述】:
我需要一些关于这个正则表达式的帮助:
(?<=.)(\^FD).*(\^FS)
我正在尝试匹配 ^FD 和 ^FS 但仅当它们都可用时;因此排除介于两者之间的所有内容
^FO638,340^FDPermit^FS
^^^ ^^^
^FO638,390^FD123456^FS
^^^ ^^^
^FO050,500^GB700,1,3^FS
xxx
^FD^FS
^^^^^^
我一直在使用 https://regex101.com/ 构建表达式,它似乎在网络上正确匹配,但在我的程序中却没有 -> 它匹配 ^FD 和 之间的所有内容^FS
【问题讨论】:
-
您能否详细说明“它似乎在网络上正确匹配,但在我的程序中不匹配”
-
它也匹配 regex101 之间的所有内容。正则表达式匹配始终是匹配字符串的子字符串。你不能拿一些中间有洞的东西。您可以使用第一组 (^FD) 和第二组 (^FS) 仅提取它们。但我不明白这一点,因为它们是不变的。