Python正则表达式-排除某个匹配项

Python正则表达式-排除某个匹配项,python,regex,Python,Regex,我仅尝试捕捉以下内容: .1 ,2 "三, .,'后面的数字可以是任何数字,前面或后面可以有任何内容。例如,.1abc,我只想捕捉1或abc,2,我只想捕捉2 因此,如果我们具备以下条件: 10,000 1.1 ,1 .2 '3 '100.000 .200,000 '300'000 abc'100,000 abc.4 abc,5 abc'6 abc 7 ,8 abc .9 abc '10 abc .11abc ,12abc 我有以下python正则表达式: ((?<![0-9])([

我仅尝试捕捉以下内容:

  • .1
  • ,2
  • "三,
.,'后面的数字可以是任何数字,前面或后面可以有任何内容。例如,.1abc,我只想捕捉1或abc,2,我只想捕捉2

因此,如果我们具备以下条件:

10,000
1.1
,1
.2
'3
'100.000
.200,000
'300'000
abc'100,000
abc.4
abc,5
abc'6
abc 7
,8 abc
.9 abc
'10 abc
.11abc
,12abc
我有以下python正则表达式:

((?<![0-9])([.,':’])([0-9]{1,4}))
(?
这是一个长字符串,下标脚注编号如下。1有时脚注编号前有点,有时有逗号,2有时有撇号'3
现在,我的正则表达式的问题是,它捕获的是30000、20.000或10000等值后面的点、逗号或撇号。我不想捕获任何类似的值,除了这个'4或类似的值。5或类似的值,6

所以我想用正则表达式做的是查看点、逗号和撇号之前是否有数字,如果有,我不想捕获任何数字,例如“10000或.20.000或,15000”


现在mypetlion得到了最接近的结果,但是他的正则表达式没有捕获列表中的最后3个,让我看看我能用他的正则表达式做些什么。

如果我没有弄错的话,你不想捕获'100.000或.200000或'300.000或abc'100000,但是你想捕获剩余的,其中包含一个或多个数字

您可以匹配它们,然后使用
|
并在组中捕获您想要匹配的内容:

详细信息

  • [,']\d+[,']\d+
    匹配字符类中的一个字符、一个或多个数字,并匹配字符类中的一个字符(您不希望捕获的模式)
  • |
  • [,”](\d+
    匹配字符类中的一个字符,并在组中捕获一个或多个数字
您的值将被捕获到组1中


如果我理解正确,您只需要逗号、句点或单引号后的下一个数字,那么
([\,'')([0-9])
就可以了

如果我误解了你有消极落后的原因,那么试试这个:


(?如果我理解的话,您希望所有内容都是一个数字,前面有一个给定的标点符号,而标点符号前面有任何非数字前缀,后面有任何非数字后缀?如果这是您想要的,请尝试此项:
((?您想在.、”后面加一个数字还是所有数字。您能为每个输入示例添加应该捕获的输出(如果有的话)吗?很抱歉,我发现您的描述非常混乱!