![]() |
1
14
除了空格以外的所有东西,除非它们被逃走了。应该有效,很抱歉最初误解了你的问题。 |
![]() |
2
5
说明:
您正在查找非空白字符(
所有匹配将保存到马赫组1,全局应用该模式以获取字符串中的所有匹配。 编辑
考虑到这一点,您甚至不需要捕获到子组。仅匹配就足够了,所以这可能会稍微提高一点效率。
|
![]() |
3
1
我会这样做:
这是弗里德的“展开循环”习语。相对于其他字符,目标字符串中的转义空格可能非常少,因此每次有机会时,您都会尽可能多地吞食其他字符。这比一次匹配一个字符的交替更有效。 edit:(tomalak)我在regex周围加上斜线,因为语法高亮显示程序似乎可以识别它们并将整个regex漆成一种颜色。如果没有这些符号,它可能会记住其他字符,如引号,并错误地(令人困惑地)将regex的部分漆成不同的颜色。 (布拉德)这首歌只提到了空格,所以我只允许引用它们,但你是对的。书中最初展开的循环示例是双引号字符串,它可以包含几个转义序列中的任何一个,其中一个是转义引号。这是Regex:
(tomalak)我不知道当你说它与“字符串开头的文件名”不匹配时你的意思是什么。它似乎与op例子中的两个文件名都匹配。但是,它也匹配一个空字符串,这是不好的。这是可以解决的,但除非效率被证明是一个问题,否则它不值得付出努力。Stefan的解决方案很好。 |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Katia · 根据特定规则进行多行匹配 2 年前 |
![]() |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
![]() |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |