Python正则表达式忽略带*的数字

时间:2018-10-16 16:31:30

标签: python regex

我想使用正则表达式以及括在方括号或括号中的数字检索除<script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app"> <ul> <li v-for="(item,i) in items"> <span v-if="item.heading" :key="i"><b>{{item.heading}}</b></span> <span v-else-if="item.divider" :key="i">--------</span> <span v-else-if="item.method" @click="item.method" :key="i" style="cursor:pointer;">{{item.text}} (+ @click->Method)</span> <span v-else> {{item.text}} -> {{item.path}}</span> </li> </ul> </div>之后的数字以外的所有数字。

示例:

*

结果:

8759*\[0-9](A|B)\*9*

1 个答案:

答案 0 :(得分:0)

您可以先匹配成对的方括号和括号,然后再匹配具有负前瞻性的数字,从而避免匹配以下*

[i for i in re.findall(r'\[[^]]*]|\([^)]*\)|(\d)(?!\*)', '8759*\[0-9](A|B)\*9*') if i]

这将返回:

['8', '7', '5']