我目前正在使用谷歌数据表中的一个数据库,其中包含与金融应用程序链接的应用程序发布者。我计划将其与另一份名单相匹配,名单上有来自多个国家的多个银行名称。问题是,第一个数据库将出版商的名称作为原始名称,而第二个列表中有一些银行名称被翻译成英文,有些则具有原始的本地名称。具体来说,似乎最初用非拉丁文书写的银行名称(如朝鲜语、西里尔语、日语或阿拉伯语)已被翻译成英语,而以拉丁文为基础的语言(如西班牙语、罗马尼亚语、斯洛文尼亚语或法语)所写银行的名称似乎都没有被翻译,只是没有任何二元论。
正因为如此,我正尝试在谷歌数据表中使用Regex,以检查非拉丁Unicode 字母字符的单元格(这就是为什么这个问题没什么用,nor 这一个)。由于目前forced表的REGEXMATCH与Unicode类字符不兼容,所以我不得不使用QUERY函数(遵循这个答案)。假设我有这个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
(주)인포바인为了能够使用拉丁文Unicode类,我希望在另一列中使用QUERY和WHERE MATCHES,并且只有在出现非拉丁字母字符时,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或iBankマーケティング株式会社。
我可能做错了什么?
发布于 2020-05-29 15:46:19
你可以用
=REGEXMATCH(A1,".*([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d).*|^[a-zA-Z]+$")详细信息
.* -除换行字符以外的任何0或多个字符,尽可能多。([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d) - [\x{0080}-\x{02AF}] -从U+0080到U+02AF范围的字符| -或\d.*[a-zA-Z]|[a-zA-Z].*\d -一个数字,任何0+字符尽可能多,ASCII字母,或一个ASCII字母,然后0或更多字符作为数字之后。
.* -除换行字符以外的任何0或多个字符,尽可能多的| -或
^ -字符串的开始[a-zA-Z]+ -1或更多ASCII字母$ -字符串的结尾https://stackoverflow.com/questions/61968660
复制相似问题