我搜索过类似的问题,即使我找到了几个答案,也没有任何接缝可以工作.我有一个字符串列表
Z189
I142
M395
L210
V467
M203
Q277
Q461
Y440
S250
M162
Q96
22Q
W148
Q72
T22T
22TWE22
12E34
Run Code Online (Sandbox Code Playgroud)
我需要一个正则表达式才能找到只有2位数字(不多或少)的字符串.所以在这种情况下:
Q96, 22Q, Q72, T22T
我失败的尝试包括:
\D\d{2}\D
(?<!\d)\d{2}(?!\d)
Run Code Online (Sandbox Code Playgroud)
你可以用 ^\D*(\d)\D*(\d)\D*$
\D* 在第一个数字之前确定任何内容都不是另一个数字.
(\d) 捕获您的第一个数字.
\D* 确保两位数字之间没有其他数字.
(\d) 捕获你的第二个数字.
\D* 确保你的第二个数字后的任何内容都不是另一个数字.