正则表达式,用于匹配和排除“和”

时间:2019-05-08 20:46:03

标签: regex regex-negation regex-group regex-greedy

我知道要否定像app:layout_behavior这样的字符,我可以写lst=[3, 2, 4, 5,1] odds = [i for i in lst if i % 2 != 0] ods.sort() print(ods[0])

我想捕获任何字符(重复零次或多次),但此字符不应为单引号或双引号:

'

这是正确的语法吗?

1 个答案:

答案 0 :(得分:0)

This expression可能会帮助您:

([^"'])*

您可能还想使用:

([^\x22\x27])*

您可以将其简化为表达式similar to,以便在捕获组中捕获除'之外的其他所有内容:< / p>

([^\x27\x22]*) 

enter image description here

此图显示了表达式的工作方式,您可以在此link中可视化其他表达式:

enter image description here

JavaScript测试

const regex = /([^\x27|\x22])*/gm;
const str = `anything else9*F&(A*&Fa09s7f'"'''"afa'"adfadsf`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}