这是一个纯粹的学术练习,与正则表达式和我对分组多个模式的理解有关。我有以下示例字符串
<xContext id="ABC">
<xData id="DEF">
<xData id="GHI">
<ID>JKL</ID>
<str>MNO</str>
<str>PQR</str>
<str>
<order id="STU">
<str>VWX</str>
</order>
<order id="YZA">
<str>BCD</str>
</order>
</str>
</xContext>
使用 C# Regex 我试图提取 3 个大写字母的组。
目前,如果我使用模式>.+?</
,我会得到
Found 5 matches:
>JKL</
>MNO</
>PQR</
>VWX</
>BCD</
如果我然后使用id=".+?">
我得到
Found 5 matches:
id="ABC">
id="DEF">
id="GHI">
id="STU">
id="YZA">
现在我试图通过|
对两边的每个术语使用逻辑或来组合它们id="|>.+?">|</
但是,这并没有给我两种模式的组合结果
我的问题是:
有人可以解释为什么这不能按预期工作吗?
如何更正模式以使两个结果以列出的正确顺序组合在一起
如何进一步增强组合模式以仅给出字母?我希望它仍然存在
?<=
,?=<
但只是想检查一下。
谢谢