如何查找方括号中后跟字符串的数字?

How to find a number enclosed in square brackets followed by a string?

我正在尝试获取前面有字符串的方括号中的数字。搜索应基于电话号码而不是第一个 [] 方括号。

mystring = 'my name is raj and my phoneNumber [12343567890] , pincode[123]'
expected=1234567890

我尝试了以下方法,但没有获取正确的值

re.search(r'^phoneNumber \[\s*\+?(-?\d+)\s*\]', mystring ).group(0) 

谁能帮我写代码?

I am trying to get the numbers enclosed in a square brackets that is preceded by a string.

尝试以下(无正则表达式)

mystring = 'my name is raj and my phoneNumber [12343567890] , pincode[123]'
left = mystring.find('[')
right = mystring.find(']')
num = mystring[left + 1:right]
print(num)

输出

12343567890

您可以使用此答案 [1] 并将字符串 'phoneNumber' 添加到正则表达式:

import re

s = "my name is raj and my phoneNumber [12343567890] , pincode[123]"
m = re.search(r"phoneNumber \[([A-Za-z0-9_]+)\]", s) 
print(m.group(1))

[1] Get the string within brackets in Python