Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在一些特定的字母后获得字符串?_Python_Regex - Fatal编程技术网

Python 如何在一些特定的字母后获得字符串?

Python 如何在一些特定的字母后获得字符串?,python,regex,Python,Regex,如何从某些特定字符中获取字符串?(更具体地说,从“A8测试”中获取“测试”) 在本例中,“A8”遵循的模式类似于“[a-Z]+[0-9]+”。 因此,它也可以是“C6测试”、“X90测试”等 我在Python中使用了”(?您可以拆分字符串,然后获取字符串 重新拆分(r’([A-Z]+[0-9]+)(测试)‘A8测试’) [''‘A8'、'测试'、''] 或者,您可以编写一个简单的函数,通过不使用正则表达式在整个字符串中查找字符串。如果您的意思是在模式“[a-Z]+[0-9]+”,您可以尝试以下

如何从某些特定字符中获取字符串?(更具体地说,从“A8测试”中获取“测试”) 在本例中,“A8”遵循的模式类似于
“[a-Z]+[0-9]+”
。 因此,它也可以是“C6测试”、“X90测试”等


我在Python中使用了
”(?您可以拆分字符串,然后获取字符串

重新拆分(r’([A-Z]+[0-9]+)(测试)‘A8测试’) [''‘A8'、'测试'、'']

或者,您可以编写一个简单的函数,通过不使用正则表达式在整个字符串中查找字符串。

如果您的意思是在模式
“[a-Z]+[0-9]+”
,您可以尝试以下方法:

import re 

s1 = 'A8 test'
s2 = 'C6 123'
s3 = 'X90 test32'

# parentheses is what you want
p = re.compile("[A-Z]+[0-9]+ (\w+)")

print(p.findall(s1))
print(p.findall(s2))
print(p.findall(s3))
输出:

['test']
['123']
['test32']

希望这会对您有所帮助,如果您还有其他问题,请发表评论。

您可以使用捕获组获取所需内容

>>> regexp = r"[A-Z]+[0-9]+ (.+)"
>>> re.search(regexp, "C6 test")[1]
"test"
>>> re.search(regexp, "X90 test")[1]
"test"
>>> re.search(regexp, "CBF58456 test")[1]
"test"

请注意,您显示的当前模式将拾取任意数量的大写字母,后跟任意数量的数字,只要每个数字至少有一个。还要注意,我上面的示例需要在第一部分和要捕获的测试字符串之间留一个空格。

您也可以使用
re.sub
来丢弃
str的一部分
您不需要简单地使用empty
str
作为第二个参数:

import re
text = "X90 test"
t = re.sub("[A-Z]+[0-9]+ ","",text)
print(t) #test
输出

test
test
test

只需使用捕获组,如
[A-Z]+[0-9]+(.+)
中所示。这里使用第一个组。
test
test
test