您好,我在选择不在单/双qoutes中的数字时遇到问题。让我们说下面有这个文本。
<style color='#424242'></style>
123
/* you can count this 5454 */
<style color="#767676"></style>
8787
我只想选择123和8787,别无选择,我该如何在javascript中使用正则表达式执行此操作
如果我在RegExp中使用\ d,它将选择所有数字,我知道。但我想告诉您,只选择那些没有被double / single / star包围的数字。
我会这样做:
var numbers = str.split('"').filter(function(_,i){ return !(i%2) }).join('')
.split("'").filter(function(_,i){ return !(i%2) }).join('')
.match(/\d+/g);
这个想法是从删除引号之间的内容开始,然后应用正则表达式。
演示(打开控制台)
但是,就像将HTML和正则表达式混合在一起一样,您会发现无法使用的情况。因此,如果您的用例不受严格控制,则最好进行解析,例如,将regex应用于element.texContent||element.innerText
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句