有人知道如何以正则表达式为子字符串吗?我目前正在分析数据,我看到了不同的格式,例如:
EB0000000
EB00000000PHL00000000F00000000
P0000000A
[当我使用表达式时:\b(?:[A-Z]{1}\d{7}[A-Z]{1}|[A-Z]{1}\d{7,8}|[A-Z]{2}\d{6}|[A-Z]{2}\d{7,8})\b
我捕获了第一个和最后一个样本,但是第二个看起来不正确,但是我仍然想捕获EB和PHL之前的那8位数字。可以在正则表达式中使用吗? TIA
为什么这么难写?也许附近有一些线路不应该纳入选择范围?
\b[A-Z\d]{8,}\b
您能正确告知输入数据样本和预期结果吗?
有可能,但是您可以更改替代项的顺序,以将最具体的替代项放在开头,然后在末尾删除单词边界。
注意,您可以省略{1}
\b(?:[A-Z]{2}\d{7,8}|[A-Z]\d{7}[A-Z]|[A-Z]\d{7,8}|[A-Z]{2}\d{6})