首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Regex with QUERY检查Googlesheets中含有非拉丁字母字符的字符串的单元格

使用Regex with QUERY检查Googlesheets中含有非拉丁字母字符的字符串的单元格
EN

Stack Overflow用户
提问于 2020-05-23 07:11:55
回答 1查看 820关注 0票数 1

我目前正在使用谷歌数据表中的一个数据库,其中包含与金融应用程序链接的应用程序发布者。我计划将其与另一份名单相匹配,名单上有来自多个国家的多个银行名称。问题是,第一个数据库将出版商的名称作为原始名称,而第二个列表中有一些银行名称被翻译成英文,有些则具有原始的本地名称。具体来说,似乎最初用非拉丁文书写的银行名称(如朝鲜语、西里尔语、日语或阿拉伯语)已被翻译成英语,而以拉丁文为基础的语言(如西班牙语、罗马尼亚语、斯洛文尼亚语或法语)所写银行的名称似乎都没有被翻译,只是没有任何二元论。

正因为如此,我正尝试在谷歌数据表中使用Regex,以检查非拉丁Unicode 字母字符的单元格(这就是为什么这个问题没什么用,nor 这一个)。由于目前forced表的REGEXMATCH与Unicode类字符不兼容,所以我不得不使用QUERY函数(遵循这个答案)。假设我有这个A栏:

代码语言:javascript
复制
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类,我希望在另一列中使用QUERYWHERE MATCHES,并且只有在出现非拉丁字母字符时,QUERY函数才能给出结果。也就是说,我想在B栏中得到这样的结果:

代码语言:javascript
复制
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í banka11번가(주)11com7 design(주)인포바인,但没有用АО "Altyn Bank"АКБ "KapitalbankiBankマーケティング株式会社

我可能做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-29 15:46:19

你可以用

代码语言:javascript
复制
=REGEXMATCH(A1,".*([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d).*|^[a-zA-Z]+$")

regex演示

详细信息

  • .* -除换行字符以外的任何0或多个字符,尽可能多。
  • ([\x{0080}-\x{02AF}]|\d.*[a-zA-Z]|[a-zA-Z].*\d) -
    • [\x{0080}-\x{02AF}] -从U+0080U+02AF范围的字符
    • | -或
    • \d.*[a-zA-Z]|[a-zA-Z].*\d -一个数字,任何0+字符尽可能多,ASCII字母,或一个ASCII字母,然后0或更多字符作为数字之后。

  • .* -除换行字符以外的任何0或多个字符,尽可能多的
    • | -或

  • ^ -字符串的开始
  • [a-zA-Z]+ -1或更多ASCII字母
  • $ -字符串的结尾
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61968660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档