如何在RegExp中子字符串?

问题描述 投票:0回答:3

有人知道如何以正则表达式为子字符串吗?我目前正在分析数据,我看到了不同的格式,例如:

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

regex nsregularexpression regexp-like
3个回答
1
投票

为什么这么难写?也许附近有一些线路不应该纳入选择范围?

\b[A-Z\d]{8,}\b

0
投票

您能正确告知输入数据样本和预期结果吗?


0
投票

有可能,但是您可以更改替代项的顺序,以将最具体的替代项放在开头,然后在末尾删除单词边界。

注意,您可以省略{1}

\b(?:[A-Z]{2}\d{7,8}|[A-Z]\d{7}[A-Z]|[A-Z]\d{7,8}|[A-Z]{2}\d{6})

Regex demo

© www.soinside.com 2019 - 2024. All rights reserved.