什么样的正则表达式可以简单地包含重音字符?

现在我的正则表达式是这样的:

[a-zA-Z0-9]但它不包括我想要的重音字符。我还想加入-‘

重音字符:DIY字符范围减法

如果您的正则表达式引擎允许(许多人也会允许),这将起作用:

(?i)^((?![××ß÷þø])[-'0-9a-z-z])+$

请看演示(您可以添加字符进行测试)

解释

  • (?i)设置不区分大小写的模式
  • ^锚定声明我们位于字符串的开头
  • (?:(?![××ß÷þø][-'0-9a-zÀ-ÿ])匹配一个字符
  • 前瞻(?![××ß÷þø)断言字符不是括号中的字符之一
  • [-'0-9a-zÀ-ÿ]允许破折号、撇号、数字、字母和字符在较宽的重音范围内,我们需要从中减去
  • +与该项匹配一次或多次
  • $锚点断言我们在字符串的末尾

参考

扩展ASCII表

发表评论