如何在Python中解析非英语混合文本

如何在Python中解析非英语混合文本,python,regex,unicode,hindi,Python,Regex,Unicode,Hindi,我通过解析图像生成了以下随机数据- 我想生成一个csv,需要从文本中提取以下数据 नाम, पति का नाम, मकान संख्या, आयु, लिंग 问题: 我们可以使用正则表达式在python中解析非英语字符吗 如果您能展示一个关于如何获取字段值的小演示,那就太好了 谢谢 您是否已经知道您使用的是哪种语言? 如果是,可以帮助您获得正交字母表的范围。 如果没有,可以帮助您了解正交语言所处的范围,然后您可以使用其中一个来定义正则表达式范围,以细化该正交语言特定的每个字符 我不知道您是

我通过解析图像生成了以下随机数据-

我想生成一个csv,需要从文本中提取以下数据

नाम, पति का नाम, मकान संख्या, आयु, लिंग
问题:

我们可以使用正则表达式在python中解析非英语字符吗

如果您能展示一个关于如何获取字段值的小演示,那就太好了


谢谢

您是否已经知道您使用的是哪种语言? 如果是,可以帮助您获得正交字母表的范围。 如果没有,可以帮助您了解正交语言所处的范围,然后您可以使用其中一个来定义正则表达式范围,以细化该正交语言特定的每个字符

我不知道您是否有文件或数据已经存储在python中,因此我将避免代码中的循环以匹配每一行,但以下正则表达式应允许您获得所需的内容:

regex = ur'[\u0020-\u007F]' # This is basic Latin orthographic language range if you want multiple ranges you can use ur'[\u0020-\u007F\u00A0-\u00FF]'
regex = regex.decode("raw-unicode-escape")
reg_compiled = re.compile(regex)
de_item = item.decode('utf-8') #Item stands for your string/line/variable or whatsoever
if reg.search(de_item):
   return item # or print(item)
我知道每件事都非常冗长,但我更喜欢代码非常清晰,以便阅读它的人能够立即理解它

由您决定是什么项目,但如果您有:

आयु, hello लिंग

作为一项,它将返回整个字符串

您是否使用Python3?如果是,则支持unicodes。Regex适用于您的案例并经过测试。检查findallr'नाम','नाम, पति का नाम, मकान संख्या, आयु, लिंग' 返回['नाम', 'नाम']有多个,我必须为每个创建一行नाम, पति का नाम, मकान संख्या, आयु, लिंग 关于findallr'नाम' 返回忽略行的所有名称。无法分组。@ElonMusk请提供一个。这有助于我们提供解决方案。