snapshot非常感谢。这是有效的经验 twt_clean.text.str.extract('(((。(?= \ d +)[0-9] *。[0-9] + | [0-9] +)/([1-9] [0-9 ] +))')
输出:
source deactivate
但是现在,上述exp的结果获取了几行中的前导空格,这些行不是整数而是浮点数。在上述exp本身之内,如何消除前导空格。请帮忙。
答案 0 :(得分:0)
由于点后面紧跟着正向.(?=\d+)
(断言右边的数字是1个以上的数字),您得到了额外的空间。
请注意,该点匹配换行符以外的任何字符,并且您必须对点进行转义,使其从字面上\.
如果您不再在代码或工具中使用捕获组,则可以忽略它们,而使用非捕获组(?:
。
您可以将表达式更新为:
(?:[0-9]*\.[0-9]+|[0-9]+)/[1-9][0-9]+
这将匹配:
(?:
非捕获组
[0-9]*\.[0-9]+
匹配0+个数字,一个点和1+个数字|
或[0-9]+
匹配一个数字1次以上)
关闭非捕获组/
匹配正斜杠[1-9][0-9]+
匹配1-9的数字,然后匹配1+的数字