正则表达式 - 在角色之前匹配模式

bpl*_*lus 14 c# regex

我目前正在c#中构建一个玩具汇编程序(通过计算系统元素书).

我需要匹配一个非常简单的模式,我认为这是学习一些正则表达式的好时机,但我正在努力!

在以下示例中,我只想匹配'='之前的字母

M =甲

d = M

MD = A

A = d

AD = M

AMD = A

我想出了以下内容:

([A-Z]{1,3})=
Run Code Online (Sandbox Code Playgroud)

然而,这也匹配我不想要的'='.

我也尝试过:

([A-Z^\=]{1,3})=
Run Code Online (Sandbox Code Playgroud)

但我仍然有同样的问题 - 它也匹配'='符号.

我正在使用这个网站来测试我的正则表达式.

任何帮助将非常感激.先感谢您.

Con*_*ler 30

你想要的是一个零宽度,超前断言.你做:

(Match this and capture)(?=before this)

在您的情况下,这将是:

([A-Z^]{1,3})(?==)