gpt4 book ai didi

java - 使用正则表达式解析不同的语言环境/语言?

转载 作者:行者123 更新时间:2023-12-01 23:20:38 26 4
gpt4 key购买 nike

我有一些以不同语言返回的文本。现在,客户端返回的文本格式为(en-us,又名美国英语):

Stuff here to keep.

-- Delete Here --
all of this below
gets
deleted

我使用正则表达式来匹配“在此处删除”,并剪掉该行及其下方的所有内容,留下“要保留的内容”。

“在此处删除:”是可以以任何语言返回的文本。

因此,对于意大利语,要匹配的关键词是“Elimina qui”:

Stuff here to keep (in italian)

-- Elimina qui --
all of this bellow
gets
deleted

我的正则表达式使用类似的东西来匹配“Delete Here”,但是我怎样才能让它与其他语言一起使用?

我是否需要为每个单词组合“删除”、“此处”(还有更多匹配的单词)等查找字典。???如何使该解决方案适用于所有语言?

NOTE: this is a very, very simple example. the "-- Delete Here --" is just one pattern I have to match. Other patterns could be just "Delete Here". And there are other patterns like "Delete All Below" (again for literary context there are other text patterns that I have to match in multiple languages).

Pattern PATTERN = Pattern.compile("^(.*?)-+ *Delete Here *-+", Pattern.DOTALL);
Matcher m = PATTERN.matcher(text);
if (m.find()) {
// Perform Magic!
}

最佳答案

如果数据的其他部分没有连续的破折号,一种方法是使用否定字符类来匹配这些破折号。

另一个可能的选择是使用 \p{L} 来匹配任何语言的任何类型的字母。

-- *\p{L}+ \p{L}+ *--

参见Live demo

关于java - 使用正则表达式解析不同的语言环境/语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687763/

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