我目前正在使用Googlesheets中的数据库,该数据库包含链接到金融应用程序的应用程序发布者。我计划将其与另一个列表匹配,该列表具有来自多个国家/地区的多个银行名称。问题在于,第一个数据库具有发布者的名称作为原始名称,但是第二个列表具有一些翻译成英语的银行名称,其中一些具有原始本地名称。具体来说,原来使用非拉丁文字书写的银行名称(例如韩语,西里尔字母,日语或阿拉伯语)已被翻译成英语,并且使用拉丁文字书写的银行名称语言(如西班牙语,罗马尼亚语,斯洛文尼亚语或法语)似乎都没有翻译,只是没有任何变音符号。
因此,我正在尝试在Googlesheets中使用Regex以便检查单元格中是否包含非拉丁Unicode letter字符(这就是this question doesn't help或this one的原因)。由于当前Googlesheets的REGEXMATCH
与Unicode类字符不兼容,因此我不得不使用QUERY
函数(在this answer之后)。假设我有此专栏A:
A
融360
הבנק הבינלאומי
АТ "Акцент-Банк
АО АЛСЕКО
АО "Altyn Bank"
АКБ "Kapitalbank
Şekerbank
İninal
Československá obchodní banka
iBillionaire
iBear
iBankマーケティング株式会社
4finance
11번가(주)
11com7 design
1 2 3 Apps
1 2 3 Apps
(주)인포바인
我想在另一列中将QUERY
与WHERE MATCHES
结合使用,以便能够使用拉丁Unicode类,并且我希望QUERY
函数仅在出现非拉丁字母字符时给出结果。也就是说,我想要这样的结果作为B列的结果:
A:B
融360:融360
הבנק הבינלאומי:הבנק הבינלאומי
АТ "Акцент-Банк:АТ "Акцент-Банк
АО АЛСЕКО:АО АЛСЕКО
АО "Altyn Bank":АО "Altyn Bank" \\ These are Cyrillic A and O
АКБ "Kapitalbank:АКБ "Kapitalbank
Şekerbank:#N/A
İninal:#N/A
Československá obchodní banka:#N/A
iBillionaire:#N/A
iBear:#N/A
iBankマーケティング株式会社:iBankマーケティング株式会社
4finance:#N/A
11번가(주):11번가(주)
11com7 design:#N/A
1 2 3 Apps:#N/A
1 2 3 Apps:#N/A
(주)인포바인:(주)인포바인
我正在使用以下公式进行此操作:=QUERY(A;"select A where A matches 'SomeREGEX'";0)
,但是我似乎没有获得正确的正则表达式。经过许多失败的尝试后,我尝试了[\p{Latin}\d\s]*[^\p{Latin}]+[\p{Latin}\d\s]*
,它为АО АЛСЕКО
,Československá obchodní banka
,11번가(주)
,11com7 design
和(주)인포바인
给出了正确的答案,但没有为АО "Altyn Bank"
,АКБ "Kapitalbank
或[ C0]
我可能做错了什么?
您可以使用
iBankマーケティング株式会社
请参见=REGEXMATCH(A1,".*([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d).*|^[a-zA-Z]+$")
详细信息
.*
-([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d)
-从[\x{0080}-\x{02AF}]
到U+0080
范围的字符U+02AF
-或|
-一个数字,尽可能多的0+个字符,ASCII字母或ASCII字母,然后在0或多个字符后作为数字]\d.*[a-zA-Z]|[a-zA-Z].*\d
-除换行符以外的任何0个或多个字符,尽可能多.*
-或|
-字符串开头^
-1个或多个ASCII字母][a-zA-Z]+
-字符串结尾