Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在RegExp中使用子字符串?_Regex - Fatal编程技术网

如何在RegExp中使用子字符串?

如何在RegExp中使用子字符串?,regex,Regex,有人知道如何在正则表达式中使用子字符串吗?我目前正在分析数据,我看到了不同的格式,例如: EB0000000 EB00000000PHL00000000F00000000 P0000000A 当我使用我的表达时: \b?:[A-Z]{1}\d{7}[A-Z]{1}\d{7,8}\A-Z]{2}\d{6}\A-Z]{2}\d{7,8}\b 我捕获了第一个和最后一个样本,但第二个样本看起来不正确,但我仍然希望捕获EB和PHL之前的8位数字。在regexp中可以吗?TIA为什么这么难写?也许附近有一些

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

EB0000000

EB00000000PHL00000000F00000000

P0000000A

当我使用我的表达时: \b?:[A-Z]{1}\d{7}[A-Z]{1}\d{7,8}\A-Z]{2}\d{6}\A-Z]{2}\d{7,8}\b


我捕获了第一个和最后一个样本,但第二个样本看起来不正确,但我仍然希望捕获EB和PHL之前的8位数字。在regexp中可以吗?TIA为什么这么难写?也许附近有一些线不应该属于选择范围

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

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

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

这是可能的,但您可以更改备选方案的顺序,将最具体的一个放在开头,然后删除结尾的单词边界

注意,您可以省略{1}

部分地

\词边界 ?:非捕获组 [A-Z]{2}\d{7,8}匹配2次A-Z和7-8位 |或 [A-Z]\d{7}[A-Z]匹配A-Z、7位数字和A-Z |或 [A-Z]\d{7,8}匹配A-Z和7-8位数字 |或 [A-Z]{2}\d{6}匹配2次A-Z和6位数字 近群
这是可能的,但您可以更改备选方案的顺序,将最具体的一个放在开头,然后删除结尾的单词边界

注意,您可以省略{1}

部分地

\词边界 ?:非捕获组 [A-Z]{2}\d{7,8}匹配2次A-Z和7-8位 |或 [A-Z]\d{7}[A-Z]匹配A-Z、7位数字和A-Z |或 [A-Z]\d{7,8}匹配A-Z和7-8位数字 |或 [A-Z]{2}\d{6}匹配2次A-Z和6位数字 近群
是的,先生。有很多数据不应归入选择范围是的,先生。这里有很多数据不应该被选择再次感谢先生!隐马尔可夫模型。。这是不同的,但是否有可能捕获字母和数字的组合,如EC80T7666。。我计划放置\w{9},但仍然有一个数据不应属于选择范围。\w也可以匹配\u我根据允许某些选择的初始模式更新了模式。如果逻辑允许,您必须指定进一步允许的选择或指定更全局的模式。我增强了我的模式,我希望这个[a-Z]{2,3}?:?\d{6,9}像您所说的那样指定更全局的模式。基于该示例,这可能是更全局的变体\b[a-Z]+?\d+,再次感谢先生!隐马尔可夫模型。。这是不同的,但是否有可能捕获字母和数字的组合,如EC80T7666。。我计划放置\w{9},但仍然有一个数据不应属于选择范围。\w也可以匹配\u我根据允许某些选择的初始模式更新了模式。如果逻辑允许,您必须指定进一步允许的选择或指定更全局的模式。我增强了我的模式,我希望这个[a-Z]{2,3}?:?\d{6,9}像您所说的那样指定更全局的模式。基于该示例,这可能是更全局的变体\b[a-Z]+?\d+