我有一个名为' ab9c_xy8z_12a3.pdf'的文件。 。我希望在最后一个下划线之后和之前的#pd; #pd;之前捕捉到部分内容。 编写正则表达式,如:
s = 'ab9c_xy8z_12a3.pdf'
m = re.search(r'_.*?\.pdf',s)
m.group(0)
返回: ' _xy8z_12a3.pdf'
在这个例子中,我只想捕获' 12a3'部分。谢谢你的帮助。
答案 0 :(得分:2)
_.*?\.pdf
regex将第一个下划线与_
匹配,然后尽可能少地匹配除换行符之外的任何0 +字符,但最左边出现的是.pdf
,原来是在字符串的末尾。因此,.
匹配所有下划线到.pdf
,只是因为正则表达式引擎解析字符串的方式(从左到右)和.
模式。
您可以使用negated character class [^_]
代替.
来修复此模式,该.
将从([^_]+)\.pdf
模式中“减去”下划线。
import re
rx = r"([^_]+)\.pdf"
s = "ab9c_xy8z_12a3.pdf"
m = re.search(rx, s)
if m:
print(m.group(1)) # => 12a3
并抓取第1组值。请参阅regex demo。
ramp = self._slow_trap_ramp(j)
答案 1 :(得分:1)
改为使用public void addone(View v){
numtest+=1;
View parent = parentLinearLayout.getChildAt(v.getTag());
TextView t = (TextView) parent.findViewById(R.id.counter);
t.setText(numtest+"");
} /// similarly for other method substract
:
re.split