我只想从下面的字符串中的方括号内找出V字母:
1. ADCVV[EO]-[asV]-[avs]-[VAS]
2. ADCVV[EO][a]
3. ADCVV[EO][a]v
4. ADCVV[EO]v[a]
我的期望字符串仅匹配数字1
我尝试使用\[((.*[vV]).*)\]
,但是它将找到数字1和4
有什么建议吗?
答案 0 :(得分:1)
匹配from spicy.optimize import newton
from math import *
f = lambda x : x**2 - sin(x)
ans = newton(f, 1, tol = 1.0E-8, maxiter = 100)
print(round(ans, 8))
,后跟零个或多个非括号字符,后跟一个[
,再跟多个非括号字符,后跟V
:
]
答案 1 :(得分:0)
尝试/(?<=\])[^[\]\W]+(?=\[)/
。
这同时使用了正向查找和正向查找来仅提取]
和[
之间的字符。
可以看到仅选择v
here。
const regex = /(?<=\])[^[\]\W]+(?=\[)/;
console.log('ADCVV[EO]-[asV]-[avs]-[VAS]'.match(regex));
console.log('ADCVV[EO][a]'.match(regex));
console.log('ADCVV[EO][a]v'.match(regex));
console.log('ADCVV[EO]v[a]'.match(regex));