当前位置: 首页 > 编程笔记 >

Regular Expressions 非字母数字匹配(否定的字符类)

洪鸿博
2023-03-14
本文向大家介绍Regular Expressions 非字母数字匹配(否定的字符类),包括了Regular Expressions 非字母数字匹配(否定的字符类)的使用技巧和注意事项,需要的朋友参考一下

示例

[^0-9a-zA-Z]

这将匹配所有既不是数字也不是字母的字符(字母数字字符)。如果下划线字符_也要取反,则表达式可以缩短为:

[^\w]

要么:

\W

在以下句子中:

  1. 嗨,怎么了?

  2. 我等不及2017年了!!!

以下字符匹配:

  1. ,,,',?和行字符的结束。

  2. ',,!和行字符的结束。

UNICODE注意
请注意,有些口味与Unicode字符属性的支持可以解释\w,并\W为[\p{L}\p{N}_]和[^\p{L}\p{N}_],这意味着其他Unicode字母和数字字符将被包括在内(见PCRE文档)。这是PCRE\w测试:

在.NET中,\w= [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Lm}\p{Mn}\p{Nd}\p{Pc}],并注意它不匹配\p{Nl}而\p{No}不像PCRE(参见\w.NET文档):

请注意,由于某些原因,Unicode 3.1小写字母(例如

 类似资料:
  • 问题内容: 我需要一个可以告诉我字符串是否包含非字母数字字符的方法。 例如,如果字符串为“ abcdef?” 或“abcdefà”,该方法必须返回true。 问题答案: 使用Apache Commons Lang: 另一种方法是遍历String的字符并检查: 您还剩下一个问题:示例字符串“abcdefà”是字母数字,因为是字母。但我认为您希望将其视为非字母数字,对吗? 因此,您可能想使用正则表达式

  • 我试图找出我的字符串是否包含从a到z的所有字母 我们可以通过其他方法解决这个问题,但我正在尝试仅使用模式和匹配器来解决它。

  • 问题内容: 如何将一个字母字符与一个正则表达式匹配。我想要一个不在但不在的角色。我希望它与unicode兼容,这就是为什么我不能使用。 问题答案: 您的前两个句子相互矛盾。“在但不在”中包括下划线。我假设从您的第三句话开始,您不想下划线。 使用信封背面的维恩图会有所帮助。让我们看看我们不想要的: (1)不匹配的字符(即,不需要字母,数字或下划线的任何内容)=> (2)数字=> (3)下划线=> 所

  • 问题内容: 我需要从字符串中删除所有不在集合中或不是空格的字符。 有人有功能吗? 问题答案: 听起来您几乎已经知道自己想做的事情,基本上将其定义为正则表达式。

  • 问题内容: 我想将以下字符串转换为提供的输出。 我还没有发现,将处理特殊字符,如任何解决方案,,,等。 基本上,我只是想摆脱所有不是字母数字的东西。这是我尝试过的… 尝试多个步骤 结果 任何帮助,将不胜感激。 工作解决方案: 问题答案: 删除非字母数字字符 以下是/正确的正则表达式,用于从输入字符串中去除非字母数字字符: 请注意,这等效于-它包括下划线字符。要删除下划线,请使用例如: 输入格式错误

  • 问题内容: 我正在尝试为PHP中的名称编写一个合理的验证器,而我的第一次尝试包括以下模式: 最终将其传递给的呼叫。据我所知,这可以与您的原始ASCII字母一起使用,但似乎在诸如Ă或张之类的易变字符上起作用。 模式本身有问题吗?也许我期望做的工作比我想象的还要多? 还是与输入的传递方式有关?我不确定是否相关,但是我确实确保在表单页面上指定UTF8编码。 问题答案: 我认为问题要比这简单得多:您忘记了