问题是匹配下面的内容
现代E& C Hillstate(KOR) - Heungkuk人寿保险粉红蜘蛛 (KOR)
目前,捕获组已部分正常工作,但在有
时停止*
当前的正则表达式是:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}.*(Heungkuk){0,1}.*(invalid){0,1}.*`
请假设忽略案例。有了上面的内容,就会像这样匹配
组#1长度:7 现代
组#2长度:3 È和C
组#3长度:9 Hillstate
组#4长度:0
组#5长度:0
非常感谢任何建议。
另一种情况是
问题是,在我的最后,我们有像现代E& C Hillstate诉Heungkuk这样的东西,然后将它分解成碎片。
然后将这些作品与由第三方提供的字符串进行比较,该第三方就像现代E& C Hillstate(KOR) - Heungkuk人寿保险粉红蜘蛛(KOR)。在这种情况下,将注意到它是否匹配。
答案 0 :(得分:0)
这样的事情:
(hyundai){0,1}\s*(E&C){0,1}\s*(hillstate){0,1}\s*(\(KOR\)){0,1}\s*\W\s*(Heungkuk){0,1}(.*)
答案 1 :(得分:-1)
您正在寻找的是被命名的捕获组。语法是
(((?<hy>hyundai)|(?<Korea>\(KOR\))|(?<delimiter>(v|-))|(?<heung>Heungkuk)|(?<invalid>\S+?))(\s+|$))+
然后检查捕获组可以告诉您行中是否包含单词,并将其置于其位置以及捕获它的组的名称。
请注意,并非所有关键字都包含在上面。
您还可以考虑将(?<hy>hyundai)|(?<Korea>\(KOR\))
更改为(?<hy>hyundai( (?<hy-country>\(KOR\)))?)
以确保(KOR)
令牌不会独立发生。