有人可以在正则表达式上帮助我匹配德语单词/句子吗 蟒?它不适用于 jupyter 笔记本。我在 jsfiddle 中尝试过同样的事情 它工作正常。我尝试使用以下脚本,但不起作用
import re
pattern = re.compile(r'[^a-zA-Z0-9äöüÄÖÜß]\', re.UNICODE)
print(pattern.search(text))
您的表达式将始终失败:
[^a-zA-Z0-9äöüÄÖÜß]\
细分,您需要
[ # literally
^ # start of the line / text
a-z # literally, etc.
问题是你需要一个[
在一行的开始之前,这永远不可能是真的(要么什么都没有,要么换行符(。所以最后,要么删除反斜杠以获得正确的字符类,如下所示:
[^a-zA-Z0-9äöüÄÖÜß]+
但这肯定与您正在寻找的单词不匹配(恰恰相反(。因此,要么使用像w+
这样简单的东西,要么使用@Wiktor在评论部分提出的解决方案。
方括号定义了要查找的字符范围,但是如果字符类中出现"^",则会否定这些字符。
如果要指定行的开头,则需要在括号前加上"^"。
在这种情况下,您还需要在类后面添加一个乘数来搜索多个字符:
r'^[a-zA-Z0-9äöüÄÖÜß]+'
括号中包含的一个或多个字符只要不与"[]"之间未列出的任何其他字符分隔,就会匹配
这是官方文档的链接