我正在编写一个正则表达式,它将从 EDIFACT UN 代码列表中提取各种信息。由于有数以万计的代码,我不想全部输入,所以我决定使用正则表达式来解析文本文件并提取出我需要的位。文本文件的结构使我可以轻松识别我想要的位。
我已经使用Regex Hero创建了以下 Regex来测试它,但我无法让它将所有内容匹配到codeComment组的双换行符。我试过使用字符类[^\n\n]但这仍然不匹配双换行符。
注意:我在 Regex Hero 上选择了 Multiline 选项。
(?<element>\d+)\s\s(?<elementName>.*)\[[B|C|I]\]\s+Desc: (?<desc>[^\n]*\s*[^\n]*)
^\s*Repr: (?<type>a(?:n)?)..(?<length>\d+)
^\s*(?<code>\d+)\s*(?<codeName>[^\n]*)
^\s{14}(?<codeComment>[^\n]*)
这是我用来匹配的示例文本。
-------------------------------------------------- --------------------
1073 文档行动作代码 [B]
描述:指示与文档行关联的操作的代码 。代表:一个..3
1 包含在单据/交易
中 单据行包含在
单据/交易中。
也应该捕捉到这一点。2 从单据/交易
中排除 单据行 从单据/交易中排除
。
我想要的是 codeComment 包含以下内容:
The document line is included in the
document/transaction.
should capture this as well.
但它只提取第一行:
The document line is included in the