匹配 COBOL 样式 Move 语句的正则表达式

问题描述 投票:0回答:1

我正在尝试编写两个 Regex 语句来提取 COBOL 样式的源和目标

Move
表单的语句

Move Customer.Name New.Name

表达式

(?<=Move\s*)(\w\.*)*(?<=.*)
为我提供了源字段 (Customer.Name),但我正在努力获取目标。表达式
(?<=Move\s*(\w\.*)*)(\w\.*)*(?<=.*)
仍然为我提供源名称。任何关于我做错了什么的想法将不胜感激。

谢谢`

c# regex
1个回答
0
投票

您可以使用以下模式:

\b(?<=Move\s+)\w+(?:\.\w+)*

请参阅Regex #1 演示

(?<=\bMove\s+)
部分匹配紧接在整个单词
Move
和一个或多个空格之前的位置,而
\w+(?:\.\w+)*
匹配一个单词,然后匹配零个或多个出现的点 + 单词。

要获取目标,您可以使用

(?<=\bMove\s+\w+(?:\.\w+)*\s+)\w+(?:\.\w+)*

请参阅Regex #2 演示。此模式与第一个模式基本相同,只是

(?<=\bMove\s+\w+(?:\.\w+)*\s+)
向后查找现在还需要点分隔的单词序列和在
Move
+ 空格之后出现的空格。

© www.soinside.com 2019 - 2024. All rights reserved.