带条件提取的正则表达式

维涅斯

我有这样的句子

1 1994 FORD 5640 2WD Tractor

2 AG-GATOR 1004 4x4 Tree Spade Truck

3 2004 ROSCO RB48 Broom

4 TENNANT 830II Street Sweeper

我需要使用正则表达式从中提取单词

5640
1004
RB48
830II

即在一个情感中,如果在第一个情感中有一个年份,例如1994年,我需要得到第四个单词(5640),如果没有像第二个句子这样的年份,我需要得到第三个单词(1004)

任何人都可以建议我使用正则表达式来实现此目标。

普拉纳夫·C·巴兰(Pranav C Balan)

使用正则表达式

\d+\s(?:\d{4}\s\S*?\s(\S+)|\S+\s(\S+))

在这里测试正则表达式

  1. \d+ 索引号
  2. \d{4}\s\S*?\s(\S+) 第一类
  3. \S+\s(\S+) 用于匹配

更新:用于字母数字索引

(?<=^|\n)\w+\s(?:\d{4}\s\S*?\s(\S+)|\S+\s(\S+))

在这里测试正则表达式

使用(?<=^|\n),积极看待字符串应该在换行符的开头或之后

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章