Python 有没有办法在正则表达式集中使用特殊字符?

Python 有没有办法在正则表达式集中使用特殊字符?,python,regex,Python,Regex,我使用的是python,现在我想要匹配到空格或字符串末尾,所以我使用了regex“*?[$]” 但经过测试,我发现它不起作用,我看了一下,发现特殊角色在场景中失去了特殊的意义 有没有办法把这个意思放回集合中?这是因为您的正则表达式不正确,您的正则表达式将匹配*?+空格或字符$。(请注意,字符类中除]之外的所有正则表达式字符都将被转义) 相反,您可以使用积极的前瞻: .*(?= |$) 请参见演示您可以使用以下内容: a = "testing for fun" n = match('[

我使用的是python,现在我想要匹配到空格或字符串末尾,所以我使用了regex
“*?[$]”

但经过测试,我发现它不起作用,我看了一下,发现特殊角色在场景中失去了特殊的意义


有没有办法把这个意思放回集合中?

这是因为您的正则表达式不正确,您的正则表达式将匹配
*?
+空格或字符
$
。(请注意,字符类中除
]
之外的所有正则表达式字符都将被转义)

相反,您可以使用积极的前瞻:

.*(?= |$)

请参见演示

您可以使用以下内容:

a = "testing for fun"

    n = match('[^\s]+',a)

>> testing

我想就你而言,一个词锚就足够了。从
re
内部文档(如果使用类Unix系统,请运行
pydoc re
):

因此,您的正则表达式看起来像:

".*?\\b"


不,特殊含义不能放回集合中,因此必须重写正则表达式


我最终使用了以下正则表达式:
*?(?:\s |$)
这是不同答案的组合。

不-
特殊字符在集合中失去了特殊意义。回到绘图板。如果有一个字符串有一个字符-一个空格怎么办?如果字符串是空的呢?@wwii谢谢,这正是我想知道的。(虽然答案确实帮助我解决问题。)
".*?\\b"
r".*?\b"