qtdwz 发表于 2014-08-25 11:26

python 正则表达式的字符串变量匹配第一次出现

一般的如果是字符串直接加 ? 就可以了,但是如果是变量,加?就给报错了,请问这个时候我希望这个字符串变量出现一次或者不出现应该如何表示
我的字符串是从文本读入的,所以不能直接用字符串表示,需要使用变量



pattern = re.compile(ch0+'.*'+( ch1 )+' *\d+\.\d+', re.S)

match=pattern.findall(logfragment

类似上文,我希望ch1 仅出现一次,但是这样会匹配最后一个符合要求的ch1,

我有大量的( ch1 )+' *\d+\.\d+'   数据,但是仅仅希望匹配ch0 下的第一个该数据,请问应该如何实现?

q1208c 发表于 2014-08-25 12:55

在 .* 后面加个 ? 试试

luyi1983 发表于 2014-08-25 13:17

ch0+'.*'+'XXXX'
你这里的'.*'就造成贪婪匹配了。
页: [1]
查看完整版本: python 正则表达式的字符串变量匹配第一次出现