【发布时间】:2019-03-27 17:29:26
【问题描述】:
在我的 Java 应用程序中,我想使用正则表达式来了解文本中是否存在字符串。
我要介绍的情况是这样的:假设我的原始文本是以下法语文本(带重音):
démo test
我想知道文本中是否存在单词demo(没有重音),使用正则表达式。问题是:我无法更改原始文本(例如,我不能使用 Normalizer.normalize()),因为我使用的库将正则表达式作为参数。
这是我尝试过的:
- 如果我使用
"(?i)démo",则存在匹配项(因为存在démo) - 如果我使用
"(?i)demo",没有匹配,但我也想在这里匹配。我希望正则表达式不区分重音。
到目前为止,我还没有找到可以涵盖该特定情况的正则表达式。
是否有任何正则表达式可以涵盖这种情况?
感谢您的帮助。
【问题讨论】:
-
该文本不包含没有重音的
demo。你的匹配器说它有吗?请在您的问题中包含代码、各种输入案例和预期输出(不是 cmets)。 -
当文本为
démo或仅当它为demo时,正则表达式是否应该返回true? -
@CarlosHeuberger:正则表达式应该告诉我“démo test”和“demo”匹配。
-
您只处理法语吗?或者您可能有未知数量的带有重音符号的字母?
-
你必须先规范化文本。 Java 会这样做吗?