gpt4 book ai didi

excel - 如何在电子邮件中找到国家/地区缩写

转载 作者:行者123 更新时间:2023-12-04 22:16:39 27 4
gpt4 key购买 nike

我有这个正则表达式,它应该在电子邮件中找到国家/地区缩写,但它不起作用,因为,
我要么有错误的表达,我认为自从 regex101 以来就不是这种情况显示它工作得很好,或者
我在我的 vba 脚本中错误地实现了它。

                   Dim Countries As String
Countries = "(Nordic|F|USA|Norway|SK|Singapur|RU|China|Pakistan|Korea|Indien|India|Italien|UK|France|Deutschland|D|CZ|BLR|Schweden|Sweden|I|Tver|Minsk|HU|Russland|Frankreich|" & _
"AFG|ALA|ALB|DZA|ASM|AND|AGO|AIA|ATA|ATG|ARG|ARM|ABW|AUS|AUT|AZE|BHS|BHR|BGD|BRB|BLR|BEL|BLZ|BEN|BMU|BTN|BOL|BES|BIH|BWA|BVT|BRA|IOT|BRN|BGR|BFA|BDI|CPV|KHM|CMR|CAN|CPV|CYM|CAF|TCD|CHL|CHN|TWN|CXR|CCK|COL|COM|COD|COG|COK|CRI|CIV|HRV|CUB|CUW|CYP|CZE|KOR|COG|DNK|DJI|DMA|DOM|ECU|EGY|SLV|GNQ|ERI|EST|SWZ|ETH|FLK|FRO|FJI|FIN|FRA|GUF|PYF|ATF|GAB|GMB|GEO|DEU|GHA|GIB|GBR|GRC|GRL|GRD|GLP|GUM|GTM|GGY|GIN|GNB|GUY|HTI|HMD|VAT|HND|HKG|HUN|ISL|IND|IDN|IRN|IRQ|IRL|IMN|ISR|ITA|JAM|SJM|JPN|JEY|JOR|KAZ|KEN|KIR|PRK|KOR|KWT|KGZ|LAO|LVA|LBN|LSO|LBR|LBY|LIE|LTU|LUX|MAC|MKD|MDG|MWI|MYS|MDV|MLI|MLT|MHL|MTQ|MRT|MUS|MYT|MEX|FSM|MDA|MCO|MNG|MNE|MSR|MAR|MOZ|MMR|NAM|NRU|NPL|NLD|NCL|NZL|NIC|NER|NGA|NIU|NFK|MNP|NOR|OMN|PAK|PLW|PSE|PAN|PNG|PRY|PRC|PER|PHL|PCN|POL|PRT|PRI|QAT|TWN|KOR|COG|REU|ROU|RUS|RWA|ESH|BLM|SHN|KNA|LCA|MAF|SPM|VCT|WSM|SMR|STP|SAU|SEN|SRB|SYC|SLE|SGP|" & _
"SXM|SVK|SVN|SLB|SOM|ZAF|SGS|KOR|SSD|ESP|LKA|SDN|SUR|SJM|SWE|CHE|SYR|TWN|TJK|TZA|THA|TLS|TGO|TKL|TON|TTO|TUN|TUR|TKM|TCA|TUV|UGA|UKR|ARE|GBR|UMI|USA|VIR|URY|UZB|VUT|VEN|VNM|VGB|VIR|WLF|ESH|YEM|ZMB|ZWE\S)"
With Reg1
.Pattern = "2_a Von Firma[:].*" & """ & Countries & """ & "$"
'Formating in email inconsistent
.Global = False
End With
On Error GoTo CaseThree
If Reg1.Test(olMail.Body) Then
Set M1 = Reg1.Execute(olMail.Body)
End If
For Each M In M1
Debug.Print M.SubMatches(0)
With xExcelApp
Range("B6").Value = M.SubMatches(0)
End With
Next M
CaseThree:
它总是给我最后一个正则表达式结果,我怀疑这是因为它在我的 if Reg1.Test(olMail.Body) Then 中找不到错误陈述

最佳答案

您需要使用 m VBA 代码中的等价标志,.Multiline=True , 和 g标志等效 .Global=True . .Execute的代码匹配如果没问题,因为您遍历所有找到的匹配项。
但是,您的正则表达式也可能需要一些增强,我建议使用惰性点模式并在国家模式之前添加一个单词边界。.Pattern 中不需要三引号。定义要么。
这是一个示例修复:

Countries = "\b(Nordic|F|USA|Norway|SK|Singapur|RU|China|Pakistan|Korea|Indien|India|Italien|UK|France|Deutschland|D|CZ|BLR|Schweden|Sweden|I|Tver|Minsk|HU|Russland|Frankreich|" & _
"AFG|ALA|ALB|DZA|ASM|AND|AGO|AIA|ATA|ATG|ARG|ARM|ABW|AUS|AUT|AZE|BHS|BHR|BGD|BRB|BLR|BEL|BLZ|BEN|BMU|BTN|BOL|BES|BIH|BWA|BVT|BRA|IOT|BRN|BGR|BFA|BDI|CPV|KHM|CMR|CAN|CPV|CYM|CAF|TCD|CHL|CHN|TWN|CXR|CCK|COL|COM|COD|COG|COK|CRI|CIV|HRV|CUB|CUW|CYP|CZE|KOR|COG|DNK|DJI|DMA|DOM|ECU|EGY|SLV|GNQ|ERI|EST|SWZ|ETH|FLK|FRO|FJI|FIN|FRA|GUF|PYF|ATF|GAB|GMB|GEO|DEU|GHA|GIB|GBR|GRC|GRL|GRD|GLP|GUM|GTM|GGY|GIN|GNB|GUY|HTI|HMD|VAT|HND|HKG|HUN|ISL|IND|IDN|IRN|IRQ|IRL|IMN|ISR|ITA|JAM|SJM|JPN|JEY|JOR|KAZ|KEN|KIR|PRK|KOR|KWT|KGZ|LAO|LVA|LBN|LSO|LBR|LBY|LIE|LTU|LUX|MAC|MKD|MDG|MWI|MYS|MDV|MLI|MLT|MHL|MTQ|MRT|MUS|MYT|MEX|FSM|MDA|MCO|MNG|MNE|MSR|MAR|MOZ|MMR|NAM|NRU|NPL|NLD|NCL|NZL|NIC|NER|NGA|NIU|NFK|MNP|NOR|OMN|PAK|PLW|PSE|PAN|PNG|PRY|PRC|PER|PHL|PCN|POL|PRT|PRI|QAT|TWN|KOR|COG|REU|ROU|RUS|RWA|ESH|BLM|SHN|KNA|LCA|MAF|SPM|VCT|WSM|SMR|STP|SAU|SEN|SRB|SYC|SLE|SGP|" & _
"SXM|SVK|SVN|SLB|SOM|ZAF|SGS|KOR|SSD|ESP|LKA|SDN|SUR|SJM|SWE|CHE|SYR|TWN|TJK|TZA|THA|TLS|TGO|TKL|TON|TTO|TUN|TUR|TKM|TCA|TUV|UGA|UKR|ARE|GBR|UMI|USA|VIR|URY|UZB|VUT|VEN|VNM|VGB|VIR|WLF|ESH|YEM|ZMB|ZWE\S)"
With Reg1
.Pattern = "2_a Von Firma:.*?" & Countries & "$"
'Formating in email inconsistent
.Global = True
.Multiline = True
End With

关于excel - 如何在电子邮件中找到国家/地区缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68481272/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com