如何更改代码以匹配任何字符而不仅仅是字母

How to change code to match any character and not just letters

我正在尝试匹配任何带有左括号的单词:'(',我想出了这个正则表达式,它到目前为止匹配带有左括号的单词但在另一个特殊字符(如点或出现右括号。我想匹配整个单词,直到出现 space。

 re.compile(r'[a-zA-Z]*\([a-zA-Z]*', flags=re.IGNORECASE)

这样的东西能胜任吗? r"\(([a-zA-Z]*) "

只要不使用代表开始和结束的 ^$ 符号,就不需要指定要匹配的模式之前或之后的内容字符串的结尾。

因此以您的示例为例,如果您对左括号之前的内容没有任何要求,那么您使用的第一组 [a-zA-Z]* 是无用的。此外,您还犯了另一个错误,因为在您的正则表达式中,您没有在第二个 [a-zA-Z]* 组之后放置 space 。因为要匹配左括号和 space 之间的每个单词,所以需要将 space 放在正则表达式字符串中。

编辑:解决问题的方法是这个([^ ]*\([^ ]*)通读关于这个的评论以查看讨论