我正在使用Python,现在我想要一些东西来匹配,直到一个空格或字符串的结尾,所以我有正则表达式".*?[ $]"
。有什么方法可以在正则表达式集中使用特殊字符吗?
但是测试的是,看它不工作我看着documentation,发现特殊字符失去里面套了特殊的意义了。
有没有把这个意思放回集的方法吗?
我正在使用Python,现在我想要一些东西来匹配,直到一个空格或字符串的结尾,所以我有正则表达式".*?[ $]"
。有什么方法可以在正则表达式集中使用特殊字符吗?
但是测试的是,看它不工作我看着documentation,发现特殊字符失去里面套了特殊的意义了。
有没有把这个意思放回集的方法吗?
没有,特别意思不能被放回到集合中,所以正则表达式必须被重写。
我结束了使用以下正则表达式:.*?(?:\s|$)
这是不同的答案的组合。
那是因为你正则表达式是不正确,你的正则表达式匹配.*?
+空格或字符$
字面上。(请注意,除了]
每一个正则表达式字符的字符类中会被转义)
相反,你可以提前使用正面看:
.*(?= |$)
您可以使用以下方法:
a = "testing for fun"
n = match('[^\s]+',a)
>> testing
谢谢!这有帮助! –
我认为,你的目的的话锚就足够了。从re
内部文件(运行pydoc re
如果您使用的是类Unix系统):
\b Matches the empty string, but only at the start or end of a word.
所以,你的正则表达式将是这样的:
".*?\\b"
或
r".*?\b"
Nope -'''特殊字符在集合内失去其特殊含义。 '''。回到绘图板。 – wwii
如果有一个字符串与一个字符 - 空格?如果一个字符串是空的呢? – sln
@wwii谢谢,这正是我想知道的。 (虽然答案确实帮助我解决了我的问题。) –