我最近才碰到regex。老实说,regex有时会吓到我,呵呵,但我正在努力学习。所以,我以前问过一个问题,现在我又来问另一个问题。我有下面的样本数据,我想做的是选择之前的数字一切。你知道吗
pencil apple car 15 Nate
beef sun shirt 56 Gaile
face building air 36 Ron
所以我想要的结果是
pencil apple car
beef sun shirt
face building air
我试过这个:
.+?(?=[\d])
但这只选择了第一行。谢谢你的回答! 编辑:顺便说一下,我正在使用python。你知道吗
将匹配锚定到行的开头(
^
是使用多行标志时行的开头),并匹配非数字:将匹配项替换为空白以将其删除。你知道吗
更新:
要使所有内容都达到但不包括最后一个数字,请使用“向前看”:
如果要在遇到这些数字或所有文本之前匹配文本,则可以使用单词边界
\b
和alternation来匹配任何字符,直到遇到单词边界后跟数字(使用正向先行),或者不匹配数字或新行。你知道吗^(?:.*(?=\b\d)|[^\d\n]+)
Regex demo
如果要匹配新行,可以使用
\D+
而不是[^\d\n]+
相关问题 更多 >
编程相关推荐