我有一些字符串存储在使用pandas的数据帧中,如果存在,我想从中提取所有的数字。这些数字必须满足的条件非常具体,我不确定是否可以使用regex来解决我的问题。条件是:
如果可能的话,如果数字后面有一个e,我也会保留它。然而,这并不重要。你知道吗
这是我到目前为止找到的所有数字,但我不知道如何编码我上面提到的条件。你知道吗
testNumbers = re.findall(r'\d+', row['Name'])
对于给定字符串:“Test T860 Article No.9712250 787”
我希望正则表达式返回
[860, 787]
在这里,我们可以使用带有词边界和量词的表达式:
Demo
正则表达式
如果不需要此表达式或您希望修改它,请访问regex101.com。你知道吗
正则表达式电路
jex.im可视化正则表达式:
你可以用
在Python中,声明为原始字符串文字:
参见regex demo
细节
(?!^)
-不在字符串的开头(?<!\d)
-不允许在当前位置之前有任何数字(?<!\bNo\.\s)
-不No.
并且允许前面的空白(?<!\bQuestion\s)
-noQuestion
并且允许前面有一个空格(\d+)
-第1组:一个或多个数字(?!\d)
-不允许在当前位置之后立即使用数字。你知道吗在熊猫身上,你可以像
输出:
相关问题 更多 >
编程相关推荐