正则表达式可选捕获组
Regex Optional Capture Groups
问题是匹配下面的内容
hyundai E&C Hillstate (KOR) - Heungkuk life insurance pink spiders
(KOR)
目前,捕获组一直在部分工作,尽管它在
时停止
.*
当前正则表达式为:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}.*(Heungkuk){0,1}.*(invalid){0,1}.*`
请假设已忽略大小写。有了上面,它会像这样匹配
第 1 组长度:7
现代
第 2 组长度:3
E&C
第 3 组长度:9
山州
第 4 组长度:0
第 5 组长度:0
如有任何建议,我们将不胜感激。
另一种情况是
- hyundai E&C Hillstate (韩) v Heungkuk life insurance pink spiders (韩)
- 现代 E&C Hillstate v 兴国人寿粉红蜘蛛
- hyundai E&C Hillstate - Heungkuk life insurance pink spiders
问题是,在我这边,我们有像现代 E&C Hillstate v Heungkuk 这样的东西,然后它被分解成碎片。
然后将这些片段与第三方提供的字符串进行比较,例如现代 E&C Hillstate (KOR) - Heungkuk life insurance pink spiders (KOR)。在这种情况下,将注意到它是否匹配。
像这样:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}\s*(\(KOR\)){0,1}\s*\W\s*(Heungkuk){0,1}(.*)
您要查找的似乎是命名捕获组。语法是
(((?<hy>hyundai)|(?<Korea>\(KOR\))|(?<delimiter>(v|-))|(?<heung>Heungkuk)|(?<invalid>\S+?))(\s+|$))+
然后检查捕获组可以告诉您该行中是否包含某个词,并告诉您它的位置以及捕获它的组的名称。
请注意,并非您的所有关键字都包含在以上内容中。
您还可以考虑将 (?<hy>hyundai)|(?<Korea>\(KOR\))
更改为 (?<hy>hyundai( (?<hy-country>\(KOR\)))?)
以确保 (KOR)
标记不会独立出现。
问题是匹配下面的内容
hyundai E&C Hillstate (KOR) - Heungkuk life insurance pink spiders (KOR)
目前,捕获组一直在部分工作,尽管它在
时停止.*
当前正则表达式为:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}.*(Heungkuk){0,1}.*(invalid){0,1}.*`
请假设已忽略大小写。有了上面,它会像这样匹配
第 1 组长度:7 现代
第 2 组长度:3 E&C
第 3 组长度:9 山州
第 4 组长度:0
第 5 组长度:0
如有任何建议,我们将不胜感激。
另一种情况是
- hyundai E&C Hillstate (韩) v Heungkuk life insurance pink spiders (韩)
- 现代 E&C Hillstate v 兴国人寿粉红蜘蛛
- hyundai E&C Hillstate - Heungkuk life insurance pink spiders
问题是,在我这边,我们有像现代 E&C Hillstate v Heungkuk 这样的东西,然后它被分解成碎片。
然后将这些片段与第三方提供的字符串进行比较,例如现代 E&C Hillstate (KOR) - Heungkuk life insurance pink spiders (KOR)。在这种情况下,将注意到它是否匹配。
像这样:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}\s*(\(KOR\)){0,1}\s*\W\s*(Heungkuk){0,1}(.*)
您要查找的似乎是命名捕获组。语法是
(((?<hy>hyundai)|(?<Korea>\(KOR\))|(?<delimiter>(v|-))|(?<heung>Heungkuk)|(?<invalid>\S+?))(\s+|$))+
然后检查捕获组可以告诉您该行中是否包含某个词,并告诉您它的位置以及捕获它的组的名称。
请注意,并非您的所有关键字都包含在以上内容中。
您还可以考虑将 (?<hy>hyundai)|(?<Korea>\(KOR\))
更改为 (?<hy>hyundai( (?<hy-country>\(KOR\)))?)
以确保 (KOR)
标记不会独立出现。