gpt4 book ai didi

javascript - 正则表达式删除除字母和 '[单引号] 之外的任何内容

转载 作者:行者123 更新时间:2023-12-03 20:38:23 24 4
gpt4 key购买 nike

如何更改此正则表达式以从字符串中删除除字母和 '(单引号)之外的所有内容?

pattern = /\b(ma?c)?([a-z]+)/ig;
  • 此模式删除不需要的空格并将第一个字母大写并将其余字母变为小写
  • 我所说的字母是指英文字母 a-z。
  • 最佳答案

    要删除字符,您需要使用实际执行此操作的内容,例如字符串 replace函数(可以接受正则表达式作为“from”参数)。
    那么你只是在处理 character class 的正常应用。 ,在 JavaScript(和大多数其他正则表达式变体)中使用 [...] 描述, 其中 ...是类里面应该有的内容。你会使用 ^在开始时反转类的含义:
    在您的情况下,它可能是:

    str = str.replace(/[^A-Za-z']/g, "");
    ...它将替换除了英文字符 A-Z (ABCDEFGHIJKLMNOPQRSTUVWXYZ)、a-z (abcdefghijklmnopqrstuvwxyz) 和单引号(例如,删除它)。

    let str = "This is a test with the numbers 123 and a '.";

    console.log("before:", str);
    str = str.replace(/[^A-Za-z']/g, "");
    console.log("after: ", str);

    然而 ,注意英文中不使用的字母字符不异常(exception),还有一个 批号在网络上使用的各种语言中的那些(甚至,反常地,在英语中,用“借来的”词,如“voilà”和“naïve”)。
    您已经说过您可以只使用英语 A-Z,但对于其他人来说:在支持 ES2018 及更高版本的 Unicode 属性匹配的环境中,您可以使用 \p{Alpha} 处理任何被 Unicode 视为“字母”的东西,而不仅仅是 A-Z属性(property)。 \p表示“匹配此 Unicode 属性”(通常,小写版本 \p 表示“匹配”,大写版本 \P 表示“不匹配”)和 {Alpha}意思是“字母”:
    str = str.replace(/[^\p{Alpha}']/gu, "");
    (再次注意, \p{Alpha} 的意思是“字母”,但因为它在否定字符类中,所以我们排除了字母字符。)
    注意 u对此进行标记,以启用更新的 Unicode 功能。这也处理“voilà”和“naïve”的例子:

    let str = "This is a test with the numbers 123 and a ' and voilà and naïve.";

    console.log("before:", str);
    str = str.replace(/[^\p{Alpha}']/gu, "");
    console.log("after: ", str);

    关于javascript - 正则表达式删除除字母和 '[单引号] 之外的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349945/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com